존스킷을 아는 개발자들도 있겠지만, 모르는 개발자들을 위해 설명을 덧 붙이자면 존 스킷은 2003년부터 C# MVP(MOST VALUABLE PROFESSIONAL)로 활동하며, C# 뉴스그룹과 개인 블로그를 통해 C#과 .NET에 대한 이런 저런 생각들을 담고 있다.
현재 구글에서 시니어 엔지니어로 근무하고있다. 가끔 Stackoverflow에서도 그를 볼수있다.
Chapter 01C#에 잔잔히 불고 있는 변화
1.1 간단한 데이터 타입의 시작
1.2 정렬과 필터
1.3 비어있는 데이터 다루기
1.4 LINQ의 소개
1.5 COM과 다이나믹 타입
1.6 닷넷 플랫폼의 분석
1.7 코드를 놀랍게 만들기
1.8 요 약
Chapter 02핵심 기초: C#1 기반 다지기
2.1 델리게이트
2.2 타입 시스템의 특성
2.3 값 타입과 참조 타입
2.4 C#2와 3: 탄탄한 기초 위의 새로운 기능
2.5 요 약
Part 02C#2: C#1의 문제점 해결
Chapter 03제네릭을 이용한 타입 파라미터화
3.1 제네릭이 필요한 이유
3.2 자주 사용할 수 있는 간단한 제네릭
3.3 기초를 뛰어 넘어
3.4 고급 제네릭
3.5 닷넷 2.0의 제네릭 컬렉션 클래스
3.6 C#과 다른 언어의 제네릭의 제약
3.7 요 약
Chapter 04nullable 타입을 이용한 무언의 표시
4.1 그냥 값이 없을 때엔 어떻게 해야 하나?
4.2 System.NullableT과 System.Nullable
4.3 C#2의 타입을 위한 문법적 편의 요소(꿀문법)
4.4 Nullable 타입의 색다른 사용 방법
4.5 요 약
Chapter 05향상된 델리게이트
5.1 거북한 델리게이트 문법은 이제 그만
5.2 메서드 그룹 변환
5.3 공변성과 반공변성
5.4 익명 메서드를 통한 Inline 델리게이트 동작
5.5 익명 메서드에서 변수 캡쳐 하기
5.6 요 약
Chapter 06이터레이터 쉽게 구현하기
6.1 C#1에서 직접 작성하는 이터레이터와 그 어려움
6.2 yield 문을 통해 간단해진 C#2의 이터레이터
6.3 이터레이터의 실제 적용 범위
6.4 CCR을 이용한 동기화 코드
6.5 요 약
Chapter 07C#2 마무리: 추가 기능
7.1 Partial 클래스
7.2 스태틱 클래스
7.3 private get/set
7.4 네임스페이스 별칭
7.5 Pragma 지시자
7.6 네이티브 코드에서 고정크기의 버퍼
7.7 특정 어셈블리의 내부 멤버 공개하기
7.8 요약
Part 03C#3 : 코드의 혁명
Chapter 08잔손질을 없애 주는 똑똑한 컴파일러
8.1 자동으로 구현되는 속성
8.2 암시적으로 선언되는 지역변수
8.3 간단한 초기화
8.4 암시적으로 자료형이 결정되는 배열
8.5 익명 타입
8.6 요약
Chapter 09람다 식과 익스프레션 트리
9.1 델리게이트로서의 람다식
9.2 ListT와 이벤트를 이용한 간단한 예제들
9.3 익스프레션 트리
9.4 오버로드의 해결과 자료형 유추에 있어서의 변화
9.5 요약
Chapter 10확장 메서드
10.1 확장 메서드를 사용하지 않을 때의 코드
10.2 확장 메서드 구문
10.3 닷넷 4.0의 확장 메서드
10.4 사용법과 가이드라인
10.5 요약
Chapter 11쿼리문과 LINQ to SQL
11.1 LINQ에 대한 소개
11.2 간단한 시작-항목 선택하기
11.3 시퀀스의 필터링과 정렬
11.4 let 구문과 투명 식별자
11.5 조인문
11.6 그룹화와 지속
11.7 쿼리 구문과 점 표기법
11.8 요약
Chapter 12LINQ의 확장
12.1 LINQ to SQL
12.2 IQueryable과 IQueryProvider를 이용한 변환
12.3 LINQ to DataSet
12.4 LINQ to XML
12.5 닷넷4.0 이외의 LINQ
12.6 요약
Part 04C#4: 모두와 함께 사이 좋게 놀아요
Chapter 13코드 간소화를 위한 작은 변화들
13.1 선택적 매개변수와 명명된 인수
13.2 COM 상호 운용성의 개선
13.3 인터페이스, 대리자에서의 제네릭 가변성
13.4 잠금, 필드와 유사한 이벤트에 대한 조그마한 변화들
13.5 요약
Chapter 14정적 언어에서의 동적 바인딩
14.1 이게 뭐지? 언제? 왜? 어떻게?
14.2 dynamic에 대한 5분짜리 설명서
14.3 동적 타이핑의 예
14.4 무대 뒤에서 일어나는 일들
14.5 동적 동작의 구현
14.6 요약
Chapter 15코드 계약으로 명확한 코드 작성하기
15.1 코드 계약이 없던 시절
15.2 코드 계약의 소개
15.3 ccrewrite, ccrefgen을 사용하여 바이너리 재작성하기
15.4 정적 검사
15.5 ccdocgen으로 계약 문서화하기
15.6 실용적인 계약
15.7 요약
Chapter 16이제 어디로 갈까
16.1 C#, 전통과 현대의 혼합
16.2 컴퓨터 과학과 닷넷
16.3 컴퓨팅의 세계
16.4 작별 인사
부록A
부록B
부록C