본문으로 이동
C# 강좌
-
C# 강좌
C# LINQ group by·join 심화: 복합 키, ToLookup, CountBy 실측
LINQ group by와 join을 한 단계 깊게. 복합 키, GroupBy와 ToLookup의 차이, null 키, 중복 키 조인, .NET 9 CountBy·AggregateBy까지 .NET 10에서 실행하고 속도와 메모리를 쟀다.
-
C# 강좌
C# LINQ 쿼리 구문 vs 메서드 구문: 컴파일러 변환·let·SelectMany
from·where·orderby·select가 어떤 메서드 호출로 바뀌는지 직접 출력해 확인. let의 숨은 할당, 다중 from과 SelectMany, 정렬 안정성, .NET 9·10 새 메서드까지 실측.
-
C# 강좌
C# 람다식: 2021년 예제를 .NET 10에서 다시 실행해 보니
C# 람다식의 기본(식·문 형식)부터 C# 10 자연 형식, C# 12 기본 매개변수, static 람다, 루프 캡처 함정까지. 2021년 예제의 컴파일 오류와 캡처 비용 실측 포함.
-
C# 강좌
C# Func·Action 델리게이트: 2021년 예제 재검증과 호출 비용 실측
Func와 Action의 차이, out 매개변수·Predicate와의 호환 문제, 멀티캐스트 함정, 인터페이스와의 호출 비용 비교까지. 2021년 예제가 컴파일되지 않던 원인도 정리.
-
C# 강좌
C# 이벤트 심화: add/remove, async 핸들러, 약한 이벤트
C# 이벤트 심화를 .NET 10에서 검증. 사용자 지정 add/remove, 취소 가능한 EventArgs, 프로세스를 종료시키는 async void 핸들러, 약한 이벤트 패턴, 인터페이스의 이벤트.
-
C# 강좌
C# 무명 형식과 무명 메서드: .NET 10에서 다시 확인한 동작
C# 무명 형식의 Equals와 ==의 차이, 읽기 전용 속성, C# 10 with 식, 튜플·레코드로 바꿀 시점과 할당량 실측, delegate { }만 할 수 있는 일까지 .NET 10에서 정리.
-
C# 강좌
C# List<T> 내부 동작: Capacity 증가·컬렉션 식·AsSpan 실측
List<T>는 Add할 때 내부 배열을 어떻게 늘릴까. .NET 10에서 Capacity 변화를 직접 찍고, 초기 용량 유무의 시간·할당 차이, 컬렉션 식, CollectionsMarshal.AsSpan의 함정까지.
-
C# 강좌
C# 델리게이트 콜백 설계: 진행률·취소·체인의 예외
C# 콜백을 .NET 10에서 설계하는 법. Action과 IProgress<T>, 콘솔에서 Progress<T> 순서가 뒤섞이는 이유, CancellationToken, 체인 중간 예외와 GetInvocationList.
-
C# 강좌
C# 프로퍼티 심화: field 키워드, required, 변경 알림
C# 14 field 키워드를 .NET 10에서 컴파일해 본 결과와 기존 코드가 조용히 바뀌는 CS9258 함정, required·init, 계산 vs 캐시, INotifyPropertyChanged, 필드 대비 속도 실측.
-
C# 강좌
C# 제네릭: 2021년 예제를 .NET 10에서 다시 검증
C# 제네릭 메서드·클래스·제약 조건을 .NET 10에서 검증. 2021년 예제의 컴파일 오류, 제약 위반 오류 코드, notnull·allows ref struct, INumber<T>, 공변성, ArrayList 박싱 실측까지.
-
C# 강좌
C# 컬렉션 고르기: Dictionary·HashSet·FrozenDictionary 실측
Dictionary, HashSet, SortedDictionary, PriorityQueue, FrozenDictionary, ImmutableArray 중 무엇을 쓸까. .NET 10 조회 속도·생성 비용 실측과 판단 그림.
-
C# 강좌
C# 레지스트리 읽기·쓰기: .NET 10의 CA1416과 RegistryView
C# RegistryKey로 키를 만들고 값을 읽고 쓰는 법을 .NET 10에서 재검증. CA1416 경고와 IsWindows() 가드, 32/64비트 RegistryView, 설정 파일과의 선택 기준.
-
C# 강좌
C# LINQ 기초: .NET 10에서 다시 실행한 입문
LINQ 쿼리식의 기본 절을 예제로 정리하고, 2021년 예제를 .NET 10에서 모두 다시 돌렸다. 지연 실행의 함정, 새 LeftJoin 메서드, 반복문과의 속도 차이까지 실측.
-
C# 강좌
C# 파일 입출력: using·비동기 API·UTF-8 BOM·Path 함정 실측
File·StreamReader 기본, using 선언, 비동기 API, UTF-8 BOM 실제 바이트, CP949, Path.Combine 함정, ReadAllLines와 ReadLines 속도·메모리 실측.
-
C# 강좌
C# 프로퍼티 기초: get/set, 자동 구현, init, 세터 검증
C# 프로퍼티의 get/set 접근자와 value, 자동 구현 프로퍼티, init(C# 9), 식 본문 =>와 { get; } =의 차이, 세터 검증을 .NET 10에서 실행한 출력과 에러 코드로 정리.
-
C# 강좌
C# 리플렉션과 애트리뷰트: Invoke 비용 실측과 AOT 경고
Type·MethodInfo로 멤버 조회, 커스텀 애트리뷰트 정의와 읽기, Invoke와 직접 호출·델리게이트 속도 실측, Native AOT에서 나는 IL2026·IL2057 경고와 소스 생성기 대안까지.
-
C# 강좌
C# 구조체(struct): 값 복사, 방어적 복사, 박싱 비용 실측
C# 구조체를 .NET 10에서 검증. 값/참조 복사의 실제 출력, readonly·record·ref struct, 경고 없는 방어적 복사 함정, 인터페이스 캐스팅 박싱 할당량 실측과 구조체 선택 기준.
-
C# 강좌
C# 메서드: ref·out·params와 오버로딩을 .NET 10에서 다시 검증
C# 메서드 정의·반환·값/참조 전달부터 ref·out·in, C# 13 params ReadOnlySpan, 선택적·명명된 인수, 로컬 함수, 오버로딩 함정까지. 2021년 예제 오류와 params 할당 실측 포함.
-
C# 강좌
C# 반복문 while·for·foreach: .NET 10에서 IL과 속도까지 확인
C# while, do-while, for, foreach를 .NET 10에서 다시 실행하고, foreach가 배열·List·Span에서 무엇으로 컴파일되는지, 순회 중 수정 예외, for와 foreach 속도를 실측했습니다.
-
C# 강좌
C# 인터페이스: 기본 구현, static abstract, 명시적 구현 (.NET 10)
C# 인터페이스를 .NET 10에서 다시 검증. 명시적 구현, C# 8 기본 인터페이스 메서드, C# 11 static abstract 멤버를 컴파일 확인한 예제와 오류 코드, 추상 클래스와의 선택 기준표까지.
-
C# 강좌
C# 확장 메서드·partial·중첩 클래스: C# 14 extension 블록까지
C# 확장 메서드의 선택 규칙(CS0121·CS1061), C# 14 extension 블록과 확장 프로퍼티를 .NET 10에서 컴파일한 결과, partial 메서드·프로퍼티·생성자, 중첩 클래스 쓰임새.
-
C# 강좌
C# 예외 처리: .NET 10에서 다시 검증한 try·catch·finally
C# try·catch·finally 기초부터 예외 필터 when, throw; 와 throw ex; 의 스택 트레이스 차이, using 선언, ThrowIfNull까지. 2021년 예제 검증과 예외 비용 실측 포함.
-
C# 강좌
C# 델리게이트와 이벤트: .NET 10에서 다시 검증한 기초
C# 델리게이트·멀티캐스트·event 키워드의 보호, EventHandler<T>, 구독 해제와 메모리 누수, ?.Invoke 스레드 안전까지. 2021년 예제의 경고·예외와 호출 비용 실측 포함.
-
C# 강좌
C# break·continue·goto: 중첩 루프 탈출과 goto case 정리
C# 무한 루프와 break·continue·goto를 .NET 10에서 다시 실행하고, 중첩 루프를 빠져나가는 goto·플래그·로컬 함수를 실측 비교하고, switch의 goto case와 컴파일 오류까지 정리했습니다.
-
C# 강좌
C# 생성자와 소멸자(종료자): 실행 순서·GC·IDisposable 실측
C# 생성자 체이닝과 정적 생성자의 실제 실행 순서, 소멸자(종료자)가 .NET 10에서 언제 실행되는지, IDisposable·using이 정답인 이유, 종료자 비용 35배 실측까지.
-
C# 강좌
C# ArrayList·Hashtable·Queue·Stack: 레거시 컬렉션과 박싱 비용 실측
C# 비제네릭 컬렉션 ArrayList·Hashtable·Queue·Stack을 .NET 10에서 다시 실행. 실행마다 바뀌는 Hashtable 순서, List<int> 대비 박싱 비용 실측, 마이그레이션 방법까지.
-
C# 강좌
C# 클래스 상속: override와 new의 차이, 생성자 함정까지 (.NET 10)
C# 상속을 .NET 10에서 확인. override와 new(숨기기)의 실제 출력 차이, 경고 CS0108, sealed·abstract, 생성자에서 가상 메서드를 부를 때의 NullReferenceException까지.
-
C# 강좌
C# 클래스와 객체: 주 생성자·required·개체 이니셜라이저 (.NET 10)
C# 클래스와 객체의 기본을 .NET 10에서 다시 검증했습니다. 필드와 속성, C# 12 주 생성자의 함정(CS9124), C# 11 required, 개체 이니셜라이저와 객체 크기 실측까지.
-
C# 강좌
C# 배열(Array): 2021년 예제를 .NET 10에서 다시 실행해 보니
C# 배열 선언·초기화·System.Array 메서드부터 컬렉션 식 [1, 2, 3], ^1·.. 범위, Span, 가변 배열과 2차원 배열의 순회 속도와 Array.Resize 비용 실측까지.
-
C# 강좌
C# 접근 제한자 6가지와 file, this: 두 어셈블리로 직접 확인
C# 접근 제한자 6단계와 file(C# 11)을 두 어셈블리로 컴파일해 실제 오류 코드까지 확인했습니다. 기본 접근 수준, protected internal 오해, this의 생성자 체이닝·확장 메서드.
-
C# 강좌
WinForms OK·취소 버튼: AcceptButton과 DialogResult
WinForms 대화 상자의 OK·취소 버튼을 .NET 10에서 정리. AcceptButton·CancelButton, DialogResult 전달 순서, FormClosing의 e.Cancel로 잘못된 입력 막기.
-
C# 강좌
C# 개발 환경 2026: .NET 10 SDK와 dotnet CLI로 시작하기
2026년판 C# 개발 환경 준비. .NET 10 SDK 설치, dotnet new console, 최상위 문, 편집기 선택(VS 2026·VS Code·Rider)을 실제 출력으로 확인합니다.
-
C# 강좌
C# 변수·데이터 형식·상수: .NET 10에서 다시 확인한 범위와 함정
C# 변수 선언, 정수·실수 형식의 실제 범위, var, nullable, default, const와 readonly 차이를 .NET 10에서 재검증. 0.1+0.2 결과와 decimal·double 속도 실측 포함.
-
C# 강좌
C# 연산자: 오버플로·?? ·음수 %·시프트 함정을 .NET 10에서 확인
C# 산술·관계·논리·비트 연산자를 .NET 10에서 재검증. 오버플로와 checked, ??·??=, 음수 나머지, 정수 나눗셈, 시프트 횟수 마스킹을 실제 출력과 오류 코드로 정리하고 checked 비용도 측정.
-
C# 강좌
C# 조건문 if·switch: 패턴 매칭, CS8509, 속도 비교(.NET 10)
C# if·else와 switch를 .NET 10에서 재검증. switch 식, 관계·논리·리스트 패턴, 경고 CS8509가 실행 시 의미하는 것, if 사슬과 switch의 속도 실측까지 정리.
-
C# 강좌
WinForms 폼·앱을 하나만 띄우기: 정적 인스턴스와 Mutex
WinForms에서 폼 하나만 표시하는 정적 인스턴스 패턴과, Mutex로 앱 중복 실행을 막는 방법을 .NET 10에서 검증. Global\·Local\ 범위, 기존 창 앞으로, macOS 실측까지.
-
C# 강좌
WinForms 모달·모달리스 폼: ShowDialog와 Show (.NET 10)
WinForms 서브 폼을 ShowDialog(모달)와 Show(모달리스)로 여는 차이를 .NET 10에서 정리. DialogResult, 소유자, Dispose, 고DPI 기본값, ShowDialogAsync.
↑