C #에 대한 올바른 버전 번호는 무엇입니까?


질문

 

C #에 대한 올바른 버전 번호는 무엇입니까?언제 나왔는가?왜 C # 3.5에 대한 답변을 찾을 수 없습니까?

이 질문은 주로 잘못된 버전 번호를 사용하여 답변을 검색하는 사람들을 돕는 것입니다.C # 3.5.희망은 잘못된 버전 번호로 답변을 찾지 못하는 사람 이이 질문을 찾은 다음 오른쪽 버전 번호로 다시 검색 할 것입니다.


답변

 

C # 언어 버전 기록 :

이것들은이 글을 작성할 때 알려진 C #의 버전입니다.

C # 1.0 및 VS2002 (2002 년 1 월) C # 1.2 (Bigarlyfully); .NET 1.1 및 VS2003 (2003 년 4 월)으로 출시되었습니다. 첫 번째 버전은 IDisposable을 구현 한 IEnumerators에서 폐기 할 수 있습니다. 몇 가지 다른 작은 기능. C # 2.0은 .NET 2.0 및 VS2005 (2005 년 11 월)로 출시되었습니다. 주요 새로운 기능 : 제네릭, 익명 메소드, Null 형 유형 및 반복자 블록 C # 3.0은 .NET 3.5 및 VS2008 (2007 년 11 월)로 출시되었습니다. 주요 새로운 기능 : 람다 식, 확장 방법, 표현식 트리, 익명 유형, 암시 적 입력 (var) 및 쿼리 표현식 C # 4.0은 .NET 4 및 VS2010 (2010 년 4 월)으로 출시되었습니다. 주요 새로운 기능 : 늦은 바인딩 (동적), 위임 및 인터페이스 일반적인 분산, 더 많은 COM 지원, 명명 된 인수, 튜플 데이터 형식 및 선택적 매개 변수 C # 5.0은 .NET 4.5 및 VS2012 (2012 년 8 월)로 출시되었습니다. 주요 기능 : 비동기 프로그래밍 및 발신자 정보 속성. 깨는 변경 : 루프 변수 폐쇄. C # 6.0 .NET 4.6 및 VS2015 (2015 년 7 월). Roslyn에 의해 구현됩니다. 특징 : 지시문을 사용하여 정적 멤버, 예외 필터, 요소 초기화 프로그램, CATCE에서 기다리고 마지막으로 컬렉션 초기화 자의 확장 추가 메서드를 가져 오려면 지시문을 사용하여 자동으로 구현 된 속성을 사용합니다. C # 7.0은 .NET 4.7 및 VS2017 (2017 년 3 월)으로 출시되었습니다. 주요 새로운 기능 : Tuples, Ref Locals 및 Rever Return, 패턴 일치 (패턴 기반 스위치 문 포함), 인라인 아웃 매개 변수 선언, 로컬 함수, 이진 리터럴, 숫자 구분 기호 및 임의의 비동기 리턴. C # 7.1 VS2017 v15.3 (2017 년 8 월)로 출시되었습니다. 새로운 기능 : 비동기 주요, 튜플 이름 추론, 기본 표현식 및 제네릭과 일치하는 패턴. C # 7.2 VS2017 V15.5 (2017 년 11 월)로 출시되었습니다. 새로운 기능 : 개인 보호 된 액세스 수정 자, 스팬 , 일명 인테리어 포인터, 일명 스코리얼 구조체 및 다른 모든 것. C # 7.3 VS2017 v15.7 (2018 년 5 월 5 월)로 출시되었습니다. 새로운 기능 : enum, 위임 및 관리되지 않는 일반 유형 제약 조건. ref 재배치. 안전하지 않은 개선 사항 : StackAlloc 초기화, unpenned 인덱스 된 고정 버퍼, 사용자 정의 고정 진술. 향상된 과부하 해상도. 초기화기 및 쿼리의 표현식 변수. == 및! = 튜플에 대해 정의됩니다. 자동 속성 '백업 필드는 이제 속성별로 대상으로 할 수 있습니다. C # 8.0은 .NET 코어 3.0 및 VS2019 V16.3 (2019 년 9 월)으로 출시되었습니다. 주요 새로운 기능 : nullable의 참조 유형, 비동기 스트림, 인덱스 및 범위, 판독 값 회원, 선언, 기본 인터페이스 방법, 정적 로컬 기능 및 보간 된 축 어림 문자열의 향상. C # 9.0은 .NET 5.0 및 VS2019 V16.8 (2020 년 11 월 2020)으로 출시되었습니다. 주요 새로운 기능 : init 전용 속성, 레코드, 표현식, 데이터 클래스, 위치 기록, 최상위 프로그램, 패턴 일치 개선 (간단한 유형 패턴, 관계형 패턴, 논리 패턴), 개선 된 대상 입력 (대상 유형의 새로운 표현식) , 타겟 입력 된 대상은 ??. 사소한 특징 : Ref 및 부분 수정 자의 순서를 완화하고, 매개 변수 null 검사, lambda 폐기 매개 변수, 기본 int, 로컬 함수, 기능 포인터, 정적 람다, 확장 getEnumerator, 모듈 초기화기 및 부분 확장. C # 10.0 .NET 6.0 (2021 년 11 월 2021). 주요 새로운 기능 : 구조체, 구조체 매개 변수가없는 생성자, 보간 된 문자열 핸들러, 지시문을 사용하여 글로벌, 파일 범위 네임 스페이스 선언, 확장 속성 패턴, Const 보간 문자열, 개별 메소드의 경우 ASYNC 메서드 빌더 (ATTIVUTUSUTES) , 매개 변수에 대한 CallerArgumentExpression 속성, 향상된 #line Pragmas.

OP의 질문에 대한 응답으로 :

C #에 대한 올바른 버전 번호는 무엇입니까?언제 나왔는가?왜 C # 3.5에 대한 답변을 찾을 수 없습니까?

C # 3.5와 같은 것은 없습니다. 혼란의 원인은 C # 3.0이 .NET 3.5에 존재한다는 것입니다.그러나 언어와 프레임 워크는 독립적으로 버전이 지정되며, 그대로 CLR은 .NET 2.0에서 3.5, .NET 4, CLR 4.0, 서비스 팩을 소개합니다..NET 4.5의 CLR은 다양한 개선 사항이 있지만 버전 관리는 불분명합니다. 일부 배치는 CLR 4.5 (예를 들어 그런 식으로 가리키는 데 사용되는이 MSDN 페이지)로 지칭 될 수 있지만 Environment.version 속성은 여전히보고서 4.0.xxx.

2017 년 5 월 3 일 현재 C # 언어 팀은 GitHub 저장소의 C # 버전 및 기능의 역사를 만들었습니다. C # 언어 버전에 추가 된 기능.또한 최근에 구현 된 언어 기능을 추적하는 페이지가 있습니다.



답변

이것은 대부분의 대답과 동일하지만 쉽게 표면화되었으며, 완전성을 위해 Visual Studio 및 .NET 버전이 있습니다.

C# version VS version .NET version CLR version Release date
1.0 2002 1.0 1.0 Feb 2002
1.2 2003 1.1 1.1 Apr 2003
2.0 2005 2.0 2.0 Nov 2005
3.0 2.0 Nov 2006
3.0 2008 3.5 2.0 Nov 2007
4.0 2010 4.0 4 Apr 2010
5.0 2012 4.5 4 Aug 2012
5.0 2013 4.5.1 4 Oct 2013
4.5.2 4 May 2014
6.0 2015 4.6 4 Jul 2015
4.6.1 4 Nov 2015
4.6.2 4 Aug 2016
7.0 2017 Mar 2017
4.7 4 May 2017
7.1 2017 (v15.3) Aug 2017
4.7.1 4 Oct 2017
7.2 2017 (v15.5) Dec 2017
4.7.2 4 Apr 2018
7.3 2017 (v15.7) May 2018
8.0 2019 4.8 4 Apr 2019
9.0 2019 (v16.8) 5.0* ** Nov 2020

.NET 코어 이후 버전

C# version VS version .NET version Release date End of Support
2015 Update 3 .NET Core 1.0 Jun 2016 Jun 2019
.NET Core 1.1 Nov 2016 Jun 2019
7.1 2017 (v15.3) .NET Core 2.0 Aug 2017 Oct 2018
7.3 2017 (v15.7) .NET Core 2.1 May 2018 Aug 2021
.NET Core 2.2 Dec 2018 Dec 2019
2019 (v16.3) .NET Core 3.0 Sep 2019 Mar 2020
2019 (v16.4) .NET Core 3.1 Dec 2019 Dec 2022
9.0 2019 (v16.8) .NET 5 Nov 2020 Feb 2022
10.0 2022 .NET 6 Nov 2021 Nov 2024
.NET 7 Nov 2022 Feb 2023
.NET 8 Nov 2023 Nov 2026

* - .NET 5.0은 .NET Framework의 최신 버전이 아니라 .NET Core 3.NET 5.0에서 시작하는 새로운 버전의 .NET 전체 프레임 워크가 없습니다.

** - .NET 코어에는 별도의 CLR (CORECLR) 버전이 없습니다..NET 코어 버전은 coreclr 버전입니다.그래서 그것을 언급하지는 않습니다.


참고 : .NET 개발은 요즘 VS와 꽤 독립적이며, 각각의 버전간에 상관 관계가 없습니다.".NET Framework 버전 및 종속성"및 ".NET 릴리스 Cadence"를 참조하십시오.



답변

C #의 버전 번호를 다룰 때 가장 큰 문제점은 Visual Studio와 .NET Framework 간의 동기화 된 릴리즈로 인한 것으로 보이는 .NET Framework 버전과 연결되어 있지 않다는 사실입니다.

C #의 버전은 실제로 프레임 워크가 아닌 컴파일러에 바인딩됩니다.예를 들어, Visual Studio 2008에서는 C # 3.0을 쓸 수 있고 대상 .NET Framework 2.0, 3.0 및 3.5를 쓸 수 있습니다.C # 3.0 명명법은 ANSI C89, C90 및 C99가 C에 대한 코드 구문과 기능을 설명하는 것과 동일한 방식으로 코드 구문 및 지원되는 기능의 버전을 설명합니다.

모노를 살펴보고 Mono 2.0 (주로 ECMA 사양에서 .NET Framework의 버전 2.0을 구현 함)은 C # 3.0 구문 및 기능을 지원합니다.



답변

V Visual Studio .NET.NET와 C # 1.0 V Visual Studio 2005와 C # 2.0 V Visual Studio 2008과 함께 # 3.0. C # 4.0 Visual Studio 2010. V Visual Studio 2012와 C # 5.0 V Visual Studio 2015와 C # 6.0. V Visual Studio 2017과 함께 C # 7.0 V Visual Studio 2019와 함께 # 8.0 V Visual Studio 2019와 함께 # 9.0.



답변

Version Language specification Microsoft compiler
C# 1.0/1.2 December 2001?/2003? January 2002?
C# 2.0 September 2005 November 2005?
C# 3.0 May 2006 November 2006?
C# 4.0 March 2009 (draft) April 2010?
C# 5.0 Released with .NET 4.5 in August 2012
C# 6.0 Released with .NET 4.6 2015
C# 7.0 Released with .NET 4.7 2017
C# 8.0 Released with .NET 4.8 2019


답변

이 테이블에서 대부분의 버전을 요약했습니다.누락 된 유일한 것들은 ASP.NET 코어 버전이어야합니다.또한 ASP.NET MVC의 다른 버전을 추가했습니다.

ASP.NET 5는 ASP.NET 코어 1.0이고 ASP.NET MVC 6이 ASP.NET 코어 MVC 1.0.0으로 REBRANDED를 받았습니다.나는이 변화가 2016 년 1 월에 언젠가 일어났다고 믿습니다.

ASP.NET 5 RC1의 릴리스 날짜를 테이블에 포함했으나 ASP.NET 핵심 1.0 및 다른 핵심 버전을 포함하지 않았습니다. 이는 정확한 릴리스 날짜를 찾을 수 없었습니다.ASP.NET 코어에 관한 릴리스 날짜에 대해 자세히 알아볼 수 있습니다. 릴리스를 위해 ASP.NET 코어 1.0 (ASP.NET 5 / VNEXT)은 언제 예정입니까?

c#

출처:https://stackoverflow.com/questions/247621/what-are-the-correct-version-numbers-for-c