Quais são os números de versão corretos para C #? O que saiu quando? Por que não consigo encontrar respostas sobre o C # 3.5 ?
Esta pergunta é principalmente para ajudar aqueles que estão procurando uma resposta usando um número de versão incorreto, por exemplo, C # 3.5 . A esperança é que alguém que não encontre uma resposta com o número de versão errado encontre essa pergunta e pesquise novamente com o número de versão correto.
Respostas:
Histórico de versão do idioma C #:
Estas são as versões do C # conhecidas no momento em que este artigo foi escrito:
Dispose
noIEnumerator
s quais implementadasIDisposable
. Alguns outros pequenos recursos.var
), expressões de consultadynamic
), variação genérica de delegação e interface, mais suporte a COM, argumentos nomeados, tipo de dados de tupla e parâmetros opcionaisawait
emcatch
efinally
, extensãoAdd
métodos em inicializadores de coleção.out
, funções locais , literais binários, separadores de dígitos e retornos assíncronos arbitrários .unmanaged
restrições de tipo genérico .ref
reatribuição. Melhorias inseguras:stackalloc
inicialização,fixed
buffers indexados não fixados ,fixed
instruções personalizadas . Resolução de sobrecarga aprimorada. Variáveis de expressão em inicializadores e consultas.==
e!=
definido para tuplas. Os campos de apoio das propriedades automáticas agora podem ser segmentados por atributos.new
expressões de tipo de destino , alvo digitado??
e?
), retornos covariantes. Recursos secundários: ordem de relaxamentoref
epartial
modificadores, verificação de nulo de parâmetro, parâmetros de descarte lambda,int
s nativos , atributos em funções locais, ponteiros de função, lambdas estáticas, extensãoGetEnumerator
, inicializadores de módulo, extensão parcial.Em resposta à pergunta do OP:
Não existe C # 3.5 - a causa da confusão aqui é que o C # 3.0 está presente no .NET 3.5. A linguagem e a estrutura são versionadas independentemente, no entanto - como é o CLR, que está na versão 2.0 para .NET 2.0 a 3.5, .NET 4 que introduz o CLR 4.0, service packs, não obstante. O CLR no .NET 4.5 possui várias melhorias, mas o controle de versão não é claro: em alguns lugares, pode ser chamado de CLR 4.5 ( esta página do MSDN costumava se referir a ela dessa maneira, por exemplo), mas a
Environment.Version
propriedade ainda reporta 4.0. xxx.Em 3 de maio de 2017, a equipe de idiomas do C # criou um histórico de versões e recursos de C # em seu repositório GitHub: Recursos adicionados nas versões de idiomas do C # . Há também uma página que rastreia os recursos de idioma futuros e implementados recentemente .
fonte
É o mesmo que a maioria das respostas aqui, mas tabularizadas para facilitar, e possui versões do Visual Studio e .NET para garantir a integridade.
Nota: Atualmente, o desenvolvimento do .NET é praticamente independente do VS, não há correlação entre as versões de cada um.
Consulte " Versões e dependências do .NET Framework " para obter mais informações.
fonte
O maior problema ao lidar com os números de versão do C # é o fato de ele não estar vinculado a uma versão do .NET Framework, o que parece dever-se às liberações sincronizadas entre o Visual Studio e o .NET Framework.
A versão do C # está realmente vinculada ao compilador, não à estrutura. Por exemplo, no Visual Studio 2008, você pode escrever C # 3.0 e direcionar o .NET Framework 2.0, 3.0 e 3.5. A nomenclatura C # 3.0 descreve a versão da sintaxe do código e os recursos suportados da mesma maneira que ANSI C89, C90, C99 descreve a sintaxe do código / recursos para C.
Dê uma olhada no Mono e você verá que o Mono 2.0 (versão 2.0 do .NET Framework implementada principalmente nas especificações da ECMA) oferece suporte à sintaxe e aos recursos do C # 3.0.
fonte
C # 1.0 com o Visual Studio.NET
C # 2.0 com o Visual Studio 2005
C # 3.0 com o Visual Studio 2008
C # 4.0 com o Visual Studio 2010
C # 5.0 com Visual Studio 2012
C # 6.0 com o Visual Studio 2015
C # 7.0 com Visual Studio 2017
C # 8.0 com o Visual Studio 2019
fonte
VERSÃO
_____
ESPECIFICAÇÃO DO______
COMPUTADOR MICROSOFTC # 1.0 / 1.2 de
____
dezembro de 2001 ? / 2003 ?___________
Janeiro de 2002 ?C # 2.0
_______
setembro de 2005________________
novembro de 2005 ?C # 3.0
_______
maio de 2006_____________________
novembro de 2006 ?C # 4.0
_______
março de 2009 (rascunho)______________
abril de 2010 ?C # 5.0; lançado com o .NET 4.5 em agosto de 2012
C # 6.0; lançado com o .NET 4.6 2015
C # 7.0; lançado com o .NET 4.7 2017
C # 8.0; lançado com o .NET 4.8 2019
fonte
Histórico de versões em C #:
C # é uma linguagem de programação simples e poderosa, orientada a objetos, desenvolvida pela Microsoft.
O C # evoluiu muito desde seu primeiro lançamento em 2002. O C # foi introduzido com o .NET Framework 1.0.
A tabela a seguir lista os recursos importantes introduzidos em cada versão do C #.
E a versão mais recente do C # está disponível nas versões do C # .
1 :
fonte
Resumi a maioria das versões nesta tabela. Os únicos ausentes devem ser as versões do ASP.NET Core. Também adicionei versões diferentes do ASP.NET MVC.
Observe que o ASP.NET 5 foi renomeado como ASP.NET Core 1.0 e ASP.NET MVC 6 foi renomeado como ASP.NET Core MVC 1.0.0. Acredito que essa alteração ocorreu por volta de janeiro de 2016.
Incluí a data de lançamento do ASP.NET 5 RC1 na tabela, mas ainda não incluí o ASP.NET core 1.0 e outras versões principais, porque não consegui encontrar as datas exatas de lançamento. Você pode ler mais sobre as datas de lançamento do ASP.NET Core aqui: Quando o ASP.NET Core 1.0 (ASP.NET 5 / vNext) está programado para lançamento?
fonte
Você pode verificar as versões mais recentes do C # aqui
fonte
Comparando os artigos do MSDN "O que há de novo no idioma e compilador C # 2.0" e " O que há de novo no Visual C # 2005 ", é possível deduzir que "C # major_version.minor_version" é cunhado de acordo com a numeração da versão do compilador.
Há C # 1.2 correspondente ao .NET 1.1 e VS 2003 e também chamado Visual C # .NET 2003 .
Mais adiante, porém, a Microsoft parou para incrementar os números da versão menor (depois do ponto) ou para tê-los além de zero
0
,. Embora seja necessário observar que o C # correspondente ao .NET 3.5 é nomeado em msdn.microsoft.com como "Visual C # 2008 Service Pack 1" .Existem duas nomeações paralelas: por numeração de versão principal do .NET / compilador e por numeração do Visual Studio.
C # 2.0 é sinônimo de Visual C # 2005
O C # 3.0 corresponde (ou, mais corretamente, pode ser direcionado) a:
fonte
C # 1.0 - Visual Studio .NET 2002
C # 1.2 - Visual Studio .NET 2003
C # 3 - Visual Studio 2008
C # 4 - Visual Studio 2010
C # 5 - Visual Studio 2012
C # 6 - Visual Studio 2015
C # 7.0 - Visual Studio 2017
C # 7.1 - Visual Studio 2017 versão 15.3
C # 7.2 - Visual Studio 2017 versão 15.5
C # 7.3 - Visual Studio 2017 versão 15.7
C # 8.0 - .NET Core 3.0 e Visual Studio 2019 versão 16.3
[fonte]: https://github.com/dotnet/csharplang/blob/master/Language-Version-History.md
fonte
O C # 8.0 é a versão mais recente do c # .it é suportado apenas no .NET Core 3.xe versões mais recentes. Muitos dos recursos mais recentes exigem recursos de biblioteca e tempo de execução introduzidos no .NET Core 3.x
A tabela a seguir lista a estrutura de destino com a versão e sua versão C # padrão.
Origem - controle de versão em linguagem C #
fonte