LINQ 핵심 연산자 정리와 동작 관점: Select부터 GroupBy까지

개요 LINQ의 주요 연산자를 개념과 동작 관점으로 정리함. 각 연산자가 입력 시퀀스를 어떻게 변환하는지, 결과 크기와 순서를 어떻게 보장하는지, 즉시 실행 여부와 예외 동작은 무엇인지에 초점을 둠. 설명은 가능한 한 단순한 정의와 함께 주의점 중심으로 구성함 기본 변환과 필터 Select 한 요소를 다른 형태로 사상하는 투영 연산 입력 개수 보존, 출력 개수는 입력과 동일 프로퍼티 선택, 새 익명 객체 구성, 스칼라 변환 등에 사용 Where 조건식이 true인 요소만 통과시키는 필터링 연산 결과 개수는 입력 이상이 될 수 없으며 같거나 더 작거나 빈 시퀀스가 될 수 있음 술어 평가가 false면 요소 제외, 지연 실행으로 조건이 충족될 때만 열거 진행 SelectMany ...

March 13, 2026

C# Hashtable vs Dictionary 비교와 선택 기준

개요 C#에서 키와 값으로 데이터를 저장하는 대표 컬렉션은 Hashtable과 Dictionary 두 가지가 있음 표면적인 사용법은 비슷하지만 제네릭 지원 여부와 타입 처리 방식이 달라 성능과 안정성에서 차이 발생 핵심 차이와 간단 예시, 선택 기준 정리 핵심 차이 Hashtable 비제네릭 컬렉션, Key와 Value가 object로 저장됨 값 형식 저장 시 박싱 발생, 꺼낼 때 언박싱 또는 캐스팅 비용 발생 컴파일 타임 타입 체크 부재, 런타임 캐스팅 오류 위험 높음 레거시 코드와의 호환성은 높으나 일반적으로 권장되지 않음 Dictionary<TKey, TValue> ...

February 14, 2026