[PART 01] C#▣ 01장 소개1.1 닷넷___1.1.1 닷넷 호환 언어___1.1.2 공통 중간 언어(CIL: Common Intermediate Language)___1.1.3 공용 타입 시스템___1.1.4 공용 언어 사양___1.1.5 메타데이터___1.1.6 어셈블리, 모듈, 매니페스트___1.1.7 공용 언어 기반구조___1.1.8 공용 언어 런타임(CLR: Common Language Runtime)___1.1.9 닷넷___1.1.10 C#과 닷넷의 관계1.2 닷넷 프레임워크, 닷넷 코어와 닷넷 표준1.3 닷넷으로 새롭게 명명정리▣ 02장 개발 환경 준비2.1 기본 예제2.2 편집기 + 명령행 컴파일러 사용2.3 비주얼 스튜디오 개발 환경2.4 두 가지 유형의 예제 코드2.5 윈도우 운영체제 이외의 개발 환경2.6 닷넷 역컴파일러정리▣ 03장 C# 기초3.1 기본 자료형___3.1.1 정수형 기본 타입___3.1.2 실수형 기본 타입___3.1.3 문자형 기본 타입___3.1.4 불린(boolean)형 기본 타입___3.1.5 마치며3.2 형 변환___3.2.1 암시적 변환___3.2.2 명시적 변환3.3 기본 문법 요소___3.3.1 예약어, 키워드___3.3.2 식별자___3.3.3 리터럴___3.3.4 변수___3.3.5 상수___3.3.6 연산자, 문장 부호3.4 배열___3.4.1 다차원 배열___3.4.2. 가변 배열3.5 제어문___3.5.1 선택문___3.5.2 반복문___3.5.3 점프문정리▣ 04장 C# 객체지향 문법4.1 클래스___4.1.1 필드___4.1.2 메서드___4.1.3 생성자___4.1.4 종료자___4.1.5 정적 멤버, 인스턴스 멤버___4.1.6 네임스페이스4.2 캡슐화___4.2.1 접근 제한자___4.2.2 정보 은닉___4.2.3 프로퍼티4.3 상속___4.3.1 형 변환___4.3.2 모든 타입의 조상: System.Object___4.3.3 모든 배열의 조상: System.Array___4.3.4 this___4.3.5 base4.4 다형성___4.4.1 메서드 오버라이드___4.4.2 오버로드4.5 C#의 클래스 확장___4.5.1 타입 유형 확장___4.5.2 멤버 유형 확장정리▣ 05장 C# 1.0 완성하기5.1 문법 요소___5.1.1 구문___5.1.2 연산자___5.1.3 예약어정리5.2 프로젝트 구성___5.2.1 다중 소스코드 파일___5.2.2 라이브러리___5.2.3 디버그 빌드와 릴리스 빌드___5.2.4 플랫폼(x86, x64, ARM32, ARM64, AnyCPU) 선택5.3 예외___5.3.1 예외 타입___5.3.2 예외 처리기___5.3.3 호출 스택___5.3.4 예외 발생___5.3.5 사용자 정의 예외 타입___5.3.6 올바른 예외 처리5.4 힙과 스택___5.4.1 스택___5.4.2 힙정리▣ 06장 BCL(Base Class Library).6.1 시간___6.1.1 System.DateTime___6.1.2 System.TimeSpan___6.1.3 System.Diagnostics.Stopwatch6.2 문자열 처리___6.2.1 System.String___6.2.2 System.Text.StringBuilder___6.2.3 System.Text.Encoding___6.2.4 System.Text.RegularExpressions.Regex6.3 직렬화/역직렬화___6.3.1 System.BitConverter___6.3.2 System.IO.MemoryStream___6.3.3 System.IO.StreamWriter / System.IO.StreamReader___6.3.4 System.IO.BinaryWriter / System.IO.BinaryReader___6.3.5 System.Xml.Serialization.XmlSerializer___6.3.6 System.Text.Json.JsonSerializer6.4 컬렉션___6.4.1 System.Collections.ArrayList___6.4.2 System.Collections.Hashtable___6.4.3 System.Collections.SortedList___6.4.4 System.Collections.Stack___6.4.5 System.Collections.Queue6.5 파일___6.5.1 System.IO.FileStream___6.5.2 System.IO.File / System.IO.FileInfo___6.5.3 System.IO.Directory/System.IO.DirectoryInfo___6.5.4 System.IO.Path6.6 스레딩___6.6.1 System.Threading.Thread___6.6.2 System.Threading.Monitor___6.6.3 System.Threading.Interlocked___6.6.4 System.Threading.ThreadPool___6.6.5 System.Threading.EventWaitHandle___6.6.6 비동기 호출___6.6.7 System.Delegate의 비동기 호출6.7 네트워크 통신___6.7.1 System.Net.IPAddress___6.7.2 포트___6.7.3 System.Net.IPEndPoint___6.7.4 System.Net.Dns___6.7.5 System.Net.Sockets.Socket___6.7.6 System.Net.Http.HttpClient6.8 데이터베이스___6.8.1 마이크로소프트 SQL 서버___6.8.2 ADO.NET 데이터 제공자___6.8.3 데이터 컨테이너___6.8.4 데이터베이스 트랜잭션6.9 리플렉션___6.9.1 AppDomain과 Assembly___6.9.2 Type과 리플렉션___6.9.3 리플렉션을 이용한 확장 모듈 구현6.10 기타___6.10.1 윈도우 레지스트리___6.10.2 BigInteger___6.10.3 IntPtr[PART 02] C# 고급 문법▣ 07장 C# 2.07.1 제네릭___7.1.1 형식 매개변수에 대한 제약 조건___7.1.2 BCL에 적용된 제네릭7.2 ?? 연산자(%00; 병합 연산자)7.3 default 예약어7.4 yield return/break7.5 부분(partial) 클래스7.6 %00;able 형식7.7 익명 메서드7.8 정적 클래스▣ 08장 C# 3.08.1 var 예약어8.2 자동 구현 속성8.3 개체 초기화(Object initializers)8.4 컬렉션 초기화8.5 익명 타입8.6 부분 메서드8.7 확장 메서드8.8 람다 식___8.8.1 코드로서의 람다 식___8.8.2 데이터로서의 람다 식8.9 LINQ___8.9.1 where, orderby, group by, join___8.9.2 표준 쿼리 연산자___8.9.3 일관된 데이터 조회▣ 09장 C# 4.09.1 선택적 매개변수와 명명된 인수9.2 dynamic 예약어___9.2.1 리플렉션 개선___9.2.2 덕 타이핑___9.2.3 동적 언어와의 타입 연동9.3 동시성 컬렉션(Concurrent Collections)▣ 10장 C# 5.010.1 호출자 정보10.2 비동기 호출___10.2.1 닷넷 BCL에 추가된 Async 메서드___10.2.2 Task, Task〈TResult〉 타입___10.2.3 async 예약어가 적용된 메서드의 반환 타입___10.2.4 Async 메서드가 아닌 경우의 비동기 처리___10.2.5 비동기 호출의 병렬 처리▣ 11장 C# 6.011.1 자동 구현 속성의 초기화 구문 추가11.2 표현식을 이용한 메서드, 속성 및 인덱서 정의11.3 using static 구문을 이용한 타입명 생략11.4 %00; 조건 연산자11.5 문자열 내에 식(expression)을 포함11.6 nameof 연산자11.7 Dictionary 타입의 인덱스 초기화11.8 예외 필터11.9 컬렉션 초기화 구문에 확장 메서드로 정의한 Add 지원11.10 기타 개선 사항▣ 12장 C# 7.012.1 더욱 편리해진 out 매개변수 사용12.2 반환값 및 로컬 변수에 ref 기능 추가(ref returns and locals)12.3 튜플12.4 Deconstruct 메서드12.5 람다 식을 이용한 메서드 정의 확대(Expression-bodied members)12.6 로컬 함수(Local functions)12.7 사용자 정의 Task 타입을 async 메서드의 반환 타입으로 사용 가능12.8 자유로워진 throw 사용12.9 리터럴에 대한 표현 방법 개선12.10 패턴 매칭___12.10.1 is 연산자의 패턴 매칭___12.10.2 switch/case 문의 패턴 매칭▣ 13장 C# 7.113.1 Main 메서드에 async 예약어 허용13.2 default 리터럴 추가13.3 타입 추론을 통한 튜플의 변수명 자동 지정13.4 기타 개선 사항▣ 14장 C# 7.214.1 메서드의 매개변수에 in 변경자 추가14.2 읽기 전용(readonly) 구조체14.3 메서드의 반환 값 및 로컬 변수에 ref readonly 추가14.4 스택에만 생성할 수 있는 값 타입 지원 - ref struct14.5 신규 추가 타입: Span〈T〉14.6 3항 연산자에 ref 지원14.7 private protected 접근자 추가14.8 숫자 리터럴의 선행 밑줄14.9 뒤에 오지 않는 명명된 인수▣ 15장 C# 7.315.1 신규 제네릭 제약 조건 - Delegate, Enum, unmanaged15.2 사용자 정의 타입에 fixed 적용 가능15.3 힙에 할당된 고정 크기 배열의 인덱싱 개선15.4 초기화 식에서 변수 사용 가능15.5 자동 구현 속성의 특성 지원15.6 튜플의 ==, != 연산자 지원15.7 ref 지역 변수의 재할당 가능15.8 stackalloc 배열의 초기화 구문 지원▣ 16장 C# 8.016.1 #%00;able 지시자와 %00;able 참조 형식___16.1.1 %00;일 수 없음을 보장___16.1.2 %00;일 수 있다면 해당 인스턴스를 %00; 가능한 타입이라고 명시___16.1.3 널 가능(Nullable) 문맥 제어16.2 비동기 스트림16.3 새로운 연산자 - 인덱스, 범위16.4 간결해진 using 선언16.5 Dispose 호출이 가능한 ref struct16.6 정적 로컬 함수16.7 패턴 매칭 개선___16.7.1 switch 식16.7.2 속성 패턴 ___16.7.3 튜플 패턴 ___16.7.4 위치 패턴 ___16.7.5 재귀 패턴 16.8 기본 인터페이스 메서드16.9 ??= (널 병합 할당 연산자)16.10 문자열 @, $ 접두사 혼합 지원16.11 기본 식(primary expression)으로 바뀐 stackalloc16.12 제네릭 구조체의 unmanaged 지원16.13 구조체의 읽기 전용 메서드▣ 17장 C# 9.017.1 레코드(Records)___17.1.1 init 설정자 추가 ___17.1.2 with 초기화 구문 추가 17.2 대상에 따라 new 식 추론(Target-typed new expressions)17.3 달라진 조건식 평가17.4 로컬 함수에 특성 지정 가능(Attributes on local functions)17.5 익명 함수 개선___17.5.1 정적 익명 함수(static anonymous functions) ___17.5.2 익명 함수의 매개변수 무시 17.6 최상위 문(Top-level statements)17.7 패턴 매칭 개선(Pattern matching enhancements)17.8 모듈 이니셜라이저(Module initializers)17.9 공변 반환 형식(Covariant return types)17.10 foreach 루프에 대한 GetEnumerator 확장 메서드지원(Extension GetEnumerator)17.11 부분 메서드에 대한 새로운 기능(New features for partial methods)17.12 localsinit 플래그 내보내기 무시(Suppress emitting localsinit flag)17.13 원시 크기 정수(Native ints)17.14 함수 포인터(Function pointers)___17.14.1 비관리 함수 포인터 지원 ___17.14.2 비관리 함수를 통한 콜백 지원 17.15 제약 조건이 없는 형식 매개변수 주석(Unconstrained type parameter annotations)▣ 18장 C# 1018.1 레코드 개선___18.1.1 레코드 구조체(Record structs) ___18.1.2 class 타입의 record에 ToString 메서드의 sealed 지원 18.2 구조체 개선___18.2.1 매개변수가 없는 구조체 생성자(Parameterless struct constructors) ___18.2.2 필드 초기화 지원 18.3 네임스페이스 개선___18.3.1 전역 using 지시문(Global Using Directive) ___18.3.2 파일 범위 네임스페이스(File Scoped Namespaces) 18.4 보간된 상수 문자열(Constant Interpolated Strings)18.5 확장 속성 패턴(Extended property patterns)18.6 람다 기능 향상(Lambda improvements)___18.6.1 특성 허용 ___18.6.2 반환 타입 지정 ___18.6.3 람다 식의 var 추론 18.7 호줄자 인수 식(CallerArgumentExpression)18.8 기타 개선 사항___18.8.1 보간된 문자열 개선(Improved Interpolated Strings) ___18.8.2 분해 구문에서 기존 변수의 재사용 가능(Mix Declarations and Variables in Deconstruction) ___18.8.3 Source Generator V2 API ___18.8.4 향상된 #line 지시문(Enhanced #line directives)▣ 19장 C# 1119.1 인터페이스 내에 정적 추상 메서드 정의 가능19.2 제네릭 타입의 특성 적용19.3 사용자 정의 checked 연산자19.4 shift 연산자 개선___19.4.1 shift 연산자 재정의에 대한 제약 완화 ___19.4.2 새로운 연산자 "〉〉〉" (부호 없는 오른쪽 시프트 연산자) 19.5 IntPtr/UIntPtr과 nint/unint의 통합19.6 문자열 개선___19.6.1 원시 문자열 리터럴 ___19.6.2 문자열 보간 개선 ___19.6.3 UTF-8 문자열 리터럴 지원 19.7 목록 및 ReadOnlySpan〈char〉 패턴 매칭19.8 ref struct 내에 ref 필드 지원___19.8.1 새로운 예약어: scoped 19.9 파일 범위 내에서 유효한 타입 정의19.10 메서드 매개 변수에 대한 nameof 지원 확장19.11 속성 및 필드에 지정할 수 있는 required 예약어 추가19.12 구조체 필드의 기본값 자동 초기화(auto-default structs)19.13 정적 메서드에 대한 delegate처리 시 캐시(cahce) 적용▣ 20장 C# 1220.1 기본 람다 매개 변수20.2 기본 생성자20.3 모든 형식의 별칭20.4 인라인 배열20.5 컬렉션 식과 스프레드 연산자20.6 ref readonly 매개 변수20.7 Interceptor(컴파일 시점에 메서드 호출 재작성)20.8 Experimental 특성 지원그리고 C# 13…[PART 03] 닷넷 응용 프로그램http://www.sysnet.pe.kr/2/0/12021 및 출판사의 공식 홈페이지를 통해 내용이 모두 공개돼 있으니 참고하자.▣ 부록http://www.sysnet.pe.kr/2/0/13101 및 출판사의 공식 홈페이지를 통해 내용이 모두 공개돼 있으니 참고하자.