-
C# 버젼 연혁Language/C# 2020. 10. 10. 23:35
버젼
추가된 기능
비고
.Net Framework
Visual Studio Version1.0
- 클래스
- 구조체
- 인터페이스
- 이벤트
- 속성
- 대리자
- 연산자 및 식
- 문
- 특성
Windows 플랫폼에서 JAVA를 대체
Visual Studio .NET 2002
1.2
이 버전부터 IEnumerator가 IDisposable를 구현할 때 IEnumerator의 Dispose라는 foreach 루트에서 생성된 코드
Visual Studio .NET 2003
2.0
- 제네릭
- 부분 형식 (Partial Type)
- 무명 메서드
- Nullable 값 형식
- 반복기
- 공변성(Covariance) 및 반공변성(Contravariance)
- getter/setter 별도의 액세스 가능
- 메서드 그룹 변환(대리자)
- 정적 클래스
- 대리자 유추
Visual Studio .NET 2005
3.0
- 자동 구현 속성
- 무명 형식
- 쿼리 식
- 람다 식
- 식 트리
- 확장 메서드
- 암시적 형식 지역 변수
- 부분 메서드
- 개체 및 컬렉션 이니셜라이저
- LINQ
- SQL 스타일의 선언적 쿼리
Ex_ list.Average()
Visual Studio .NET 2008
.Net Framework 3.5
4.0
- 동적 바인딩
- 명명된/선택적 인수
- 제네릭 공변성(Covariance) 및 반공변성(Contravariance)
- 포함된 interop 형식
- 포함된 interop 형식은 배포의 어려움을 완화
- dynamic 키워드
JavaScript와 같이 동적으로 형식화된
Visual Studio 2010
5.0
- 비동기 멤버
- 호출자 정보 특성
- async/await
- 장기 실행 작업 및 콜백 웹 구현
Visual Studio 2012
6.0
- 정적 가져오기
- 예외 필터
- Auto 속성 이니셜라이저
- 식 본문 멤버
- Null 전파자
- 문자열 보간
- Nameof 연산자
- 인덱스 이니셜라이저
- Catch/Finally 블록의 Await
- Getter 전용 속성의 기본값
- 코드를 간결하게
Visual Studio 2015
7.0
- 외부 변수
- 튜플 및 분해
- 패턴 일치
- 로컬 함수
- 확장된 식 본문 멤버
- 참조 로컬 및 반환
- 삭제
- 이진 리터럴 및 자리수 구분 기호
- Throw 식
- out 키워드와 함께 사용할 변수의 선언을 압축, 튜플을 통해 여러 개의 반환 값 허용
- .NET Core : 모든 운영체제 대상, 클라우드 와 휴대성
Visual Studio 2017
7.1
- 포인트 릴리즈 제공 시작
- 컴파일러에 참조 어셈블리 생성 제어 옵션
- refout
- refonly
- Async Main 메서드
- 애플리케이션에 대한 진입점은 async 한정자를 가질 수 있음
- Default 리터럴 식
- 대상 형식을 유추할 수 있는 경우 기본 값 식에서 기본 리터럴 식을 사용 할 수 있음
- 유추된 튜플 요소 이름
- 튜플 요소의 이름은 대부분의 경우에 튜플 초기화에서 유추할 수 있음
- 제네릭 형식 메게 변수의 패턴 일치
- 형식이 제네릭 형식 매게 변수인 변수에서 패턴 일치 식을 사용 할 수 있음
7.2
- 안전하고 효율적인 코드를 작성하는 방법
- 참조 의미 체계를 사용하는 값 유형으로 작동할 수 있는 구문 개선의 조합
- 뒤에 오지 않는 명명된 인수
- 명명된 인수 뒤에는 위치 인수가 올 수 있음
- 숫자 리터럴의 선행 밑줄
- 숫자 리터럴은 이제 인쇄된 숫자 앞에 선행 밑줄이 있을 수 있음
- private protected 액세스 한정자
- 액세스 한정자는 동일한 어셈블리의 파생된 클래스에 대해 액세스를 사용
- 조건부 ref 식
- 조건식(?:)의 결과가 참조일 수 있음
7.3
안전한 코드에 대한 향상된 성능의 테마 지원
- 고정하지 않고 고정 필드에 액세스 가능
- ref 지역 변수를 재 할당 가능
- stackalloc 배열에서 이니셜라이저 사용 가능
- 패턴을 지원하는 모든 형식과 함께 fixed 문을 사용 가능
- 추가적인 제네릭 제약조건 사용 가능
기존 기능 개선
- 튜플 형식으로 == 및 != 테스트 가능
- 더 많은 위치에서 식 변수 사용 가능
- 자동 구현 속성 지원 필드에 특성을 연결 가능
- 인수에서 in만 다른 경우 메서드 해결이 향상
- 오버로드 해결에 모호한 사례 감소
- 컴파일러 새 옵션
- publicsing - OSS(오픈 소스 소프트웨어) 시그니처를 사용하도록 설정
- PATHMAP - 소스 디렉터리에 대한 매핑 제공
8.0
- 읽기 전용 멤버
- 기본 인터페이스 메서드
- 패턴 일치 개선
- Switch
- 속성 패턴
- 튜플 패턴
- 위치 패턴
- using 선언
- 정적 로컬 함수
- 삭제 가능한 ref struct
- nullable 참조 형식
- 비동기 스트림
- 인덱스 및 범위
- null 병합 할당
- 관리되지 않는 생성 형식
- 중첩 식의 stackalloc
- 보간된 약어 모자열의 향상된 기능
- .NET Core 대상으로 하는 첫번째 주 릴리즈
- 새 CLR 기능 사용 (.Net Core 3.0용)
- .NET Core에만 추가된 라이브러리 형식 사용
'Language > C#' 카테고리의 다른 글
[C#] Boxing / Unboxing에 대하여 Araboza. (0) 2020.09.19 string 과 Stringbuilder의 차이점을 Araboja (0) 2020.09.05 C#으로 개발된 Com dll 등록 방법 (0) 2020.06.20 SAP RFC 연동 (C#) (0) 2019.10.06 댓글