C# 버전
C#은 1.0 버전부터 8.0 버전까지 오랜 기간 발전해 왔습니다. 이 책 전체에서 C#의 기능을 거의 모두 학습합니다. 다음 표는 앞으로 배울 내용이니 간단히 읽고 넘어가세요. C#이 오랫동안 꾸준히 프로그래밍 언어로써 발전해 왔다는 것을 확인할 수 있습니다.
▼ 표 1-1 C# 버전
버전 |
발표 |
특징 |
1.0 |
2002년 2월 13일 |
• C#의 첫 번째 버전 • 닷넷 프레임워크(.NET Framework) 1.0 • 간결하고 현대화된 언어 • 관리된 코드(managed code) • 자동화된 가비지 컬렉션(garbage collection) |
1.1 |
2003년 |
비주얼 스튜디오 도구 기능 향상 |
2.0 |
2005년 |
• 제네릭(generic) • 부분(partial) 클래스 • 무명 메서드(anonymous method) • 이터레이터(반복기, iterator) • null 가능 형식(nullable type) • Static 클래스 |
3.0 |
2006년 |
• 암시적으로 형식화된 변수(implicitly typed local variables) • 개체 이니셜라이저(object initializer) • 컬렉션 이니셜라이저(collection initializer) • 무명 형식(anonymous types, 익명 형식) • 확장 메서드(extension methods) • 람다 식(lambda expression) • 자동 구현 속성(auto-implemented properties) • 쿼리 식(query expressions) • 익스프레션 트리(expression trees) |
3.5 |
2007년 |
LINQ(Language INtegrated Query) |
4.0 |
2010년 |
• 다이나믹 바인딩(dynamic binding) • 명명된 또는 선택적 인수(named & optional arguments) |
4.5 |
2012년 |
|
5.0 |
2013년 |
• 비동기(async와 await) • 비동기 메서드(asynchronous methods) |
6.0 |
2014년 |
• 문자열 보간법(string interpolation) • 정적 멤버를 위한 using static 구문 • 자동 속성 이니셜라이저(auto-property initializers) • null 조건부 연산자(null-conditional operator) • 식 본문 멤버(expression-bodied members) • nameof 연산자 |
7.0 |
2016년 |
• 튜플(tuple)과 튜플 해체(deconstruction) • 패턴 매칭(pattern matching) • 숫자 구분자(digit separator)와 이진 리터럴(binary literals) • 로컬 함수(local functions) • out 키워드 기능 향상(out var) |
8.0 |
2019년 |
• nullable 참조 형식 • 비동기 스트림 |