HashSet 썸네일형 리스트형 C# 구조적 비교와 EqualityComparer<T> 커스터마이징 컬렉션 키 비교나 동등성 판단에서 참조 동일성 대신 내용(구조)을 비교하면 버그를 크게 줄일 수 있습니다. C#/.NET은 배열, 튜플, 레코드 등에서 구조적 비교를 지원하며, EqualityComparer를 통해 사용자 정의 타입에도 손쉽게 커스터마이징할 수 있습니다.1. 구조적 비교란?구조적 비교는 객체의 참조가 아닌 내부 구성 요소 값을 기준으로 동등성/정렬을 판단하는 방식입니다. 기본 배열 비교는 참조 비교이며, 튜플/레코드/ValueTuple은 기본적으로 구조적 비교를 지원합니다.using System;using System.Collections;var a1 = new[] { 1, 2, 3 };var a2 = new[] { 1, 2, 3 };Console.WriteLine(Equals(a1, a.. 더보기 C# Dictionary와 HashSet 활용 1. Dictionary와 HashSet 개념C#의 Dictionary는 키와 값의 쌍으로 데이터를 관리하는 컬렉션입니다. 반면에 HashSet은 중복 없는 고유한 요소 모음을 제공합니다. 각각 빠른 검색과 중복 제거에 유용합니다.2. 간단한 코드 예제아래 예제는 Dictionary에 학생의 ID와 이름을 저장하고, HashSet으로 등록된 과목을 관리하는 방법을 보여줍니다.using System;using System.Collections.Generic;class Program{ static void Main() { // Dictionary 사용: 학생 ID와 이름 저장 Dictionary students = new Dictionary(); student.. 더보기 이전 1 다음