variaveis - variavel local c#
Quais são os números de versão correta para c#? (6)
Histórico da versão do idioma C #:
Estas são as versões do C # conhecidas no momento da redação deste texto:
- C # 1.0 lançado com o .NET 1.0 e o VS2002 (janeiro de 2002)
- C # 1.2 (bizarramente o suficiente); lançado com o .NET 1.1 e o VS2003 (abril de 2003). Primeira versão para chamar
Dispose
noIEnumerator
s que implementouIDisposable
. Algumas outras pequenas características. - C # 2.0 lançado com o .NET 2.0 e o VS2005 (novembro de 2005). Novos recursos principais: genéricos, métodos anônimos, tipos anuláveis, blocos do iterador
- C # 3.0 lançado com .NET 3.5 e VS2008 (novembro de 2007). Principais novos recursos: expressões lambda, métodos de extensão, árvores de expressão, tipos anônimos, digitação implícita (
var
), expressões de consulta - C # 4.0 lançado com o .NET 4 e o VS2010 (abril de 2010). Novos recursos principais: ligação tardia (
dynamic
), variante genérica de delegação e interface, mais suporte COM, argumentos nomeados, tipo de dados de tupla e parâmetros opcionais - C # 5.0 lançado com o .NET 4.5 e o VS2012 (agosto de 2012). Principais características : programação assíncrona, atributos de informação do chamador. Quebrando a mudança: fechamento de variável de loop .
- C # 6.0 lançado com o .NET 4.6 e VS2015 (julho de 2015). Implementado por Roslyn . Features : inicializadores para propriedades implementadas automaticamente, usando diretivas para importar membros estáticos, filtros de exceção, inicializadores de elementos,
await
nacatch
e,finally
, extensãoAdd
métodos em inicializadores de coleção. - C # 7.0 lançado com .NET 4.7 e VS2017 (março de 2017) Novos recursos principais : tuples , ref locals e ref return , correspondência de padrões (incluindo instruções switch baseadas em padrões), declarações de parâmetros inline
out
, funções locais , literais binários, separadores de dígitos e retornos assíncronos arbitrários . - C # 7.1 lançado com VS2017 v15.3 (agosto de 2017) Novos recursos: async principal , inferência de nome de membro de tupla , expressão padrão , correspondência de padrão com genéricos .
- C # 7.2 lançado com VS2017 v15.5 (novembro de 2017) Novos recursos: modificador de acesso protegido privado , Span <T>, também conhecido como ponteiro interno, também conhecido como stackonly struct , tudo o mais .
- C # 7.3 lançado com VS2017 v15.7 (maio de 2018). Novos recursos: restrições de tipo genérico enum, delegate e
unmanaged
. reatribuição deref
. Melhorias inseguras: inicializaçãostackalloc
, buffersfixed
indexados não liberados, instruçõesfixed
personalizadas. Melhor resolução de sobrecarga. Variáveis de expressão em inicializadores e consultas.==
e!=
definido para tuplas. Agora, os campos de apoio das propriedades automáticas podem ser segmentados por atributos. - C # 8.0 atualmente na pré-visualização. Novos recursos esperados : tipos de referência não anuláveis ,
IAsyncEnumerable<T>
, intervalos e métodos de interface padrão.
Em resposta à pergunta do OP:
Quais são os números de versão correta para c #? O que saiu quando? Por que não consigo encontrar respostas sobre o C # 3.5?
Não existe tal coisa como C # 3.5 - a causa da confusão aqui é que o C # 3.0 está presente no .NET 3.5. A linguagem e o framework são versionados de forma independente, no entanto - assim como o CLR, que está na versão 2.0 para .NET 2.0 a 3.5, introduzindo o .NET 4 no CLR 4.0, apesar dos service packs. O CLR no .NET 4.5 tem vários aprimoramentos, mas o controle de versão não está claro: em alguns lugares, ele pode ser chamado de CLR 4.5 ( esta página do MSDN usada para se referir a ele dessa maneira, por exemplo), mas a propriedade Environment.Version
ainda relatórios 4.0.xxx.
Informações mais detalhadas sobre o relacionamento entre o idioma, o tempo de execução e as versões do framework estão disponíveis no site C # in Depth . Isso inclui informações sobre quais recursos do C # 3.0 você pode usar ao segmentar o .NET 2.0. (Se alguém quiser trazer todo o conteúdo para esta resposta wiki, eles são bem-vindos.)
Em 3 de maio de 2017, a equipe de idiomas do C # criou um histórico das versões e recursos do C # no repositório do github: Recursos adicionados nas versões do idioma do C # . Há também uma página que rastreia os recursos de idioma futuros e implementados recentemente .
Quais são os números de versão correta para c #? O que saiu quando? Por que não consigo encontrar respostas sobre o C # 3.5 ?
Esta questão é principalmente para ajudar aqueles que estão procurando por uma resposta usando um número de versão incorreto, por exemplo, C # 3.5 . A esperança é que qualquer pessoa que não consiga encontrar uma resposta com o número da versão incorreta encontre essa pergunta e, em seguida, pesquise novamente com o número da versão correto.
Comparando os artigos do MSDN "O que há de novo na linguagem C # 2.0 e Compiler" 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 ao VS 2003 e também denominado como Visual C # .NET 2003 .
Mas, além disso, a Microsoft parou para incrementar os números da versão secundária (após o ponto) ou para tê-los diferentes de zero, 0
. Embora deva ser observado que o C # correspondente ao .NET 3.5 é nomeado em msdn.microsoft.com como "Visual C # 2008 Service Pack 1" .
Existem duas nomenclaturas paralelas: Pela numeração principal da versão .NET / compilador e pela numeração do Visual Studio.
C # 2.0 é um sinônimo para o Visual C # 2005
C # 3.0 corresponde (ou, mais corretamente, pode direcionar) para:
- .NET 2.0 <==> Visual C # 2005
- .NET3.0 <==> Visual C # 2008
- .NET 3.5 <==> Visual C # 2008 Service Pack 1
Eu resumi a maioria das versões nesta tabela. Os únicos ausentes devem ser versões do ASP.NET Core. Eu também adicionei diferentes versões do ASP.NET MVC.
Observe que o ASP.NET 5 foi renomeado como ASP.NET Core 1.0 e o ASP.NET MVC 6 foi renomeado como ASP.NET Core MVC 1.0.0. Eu acredito que essa mudança ocorreu por volta de janeiro de 2016.
Eu 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 de lançamento exatas. 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á agendado para lançamento?
O maior problema ao lidar com números de versão do C # é o fato de que ele não está vinculado a uma versão do .NET Framework, que parece ser devido às versões sincronizadas entre o Visual Studio eo .NET Framework.
A versão do C # na verdade está vinculada ao compilador, não ao framework. Por exemplo, no Visual Studio 2008 você pode escrever no C # 3.0 e direcionar o .NET Framework 2.0, 3.0 e 3.5. A nomenclatura do C # 3.0 descreve a versão da sintaxe do código e os recursos suportados da mesma maneira que o ANSI C89, C90, C99 descreve a sintaxe / recursos do código para C.
Dê uma olhada no Mono e você verá que o Mono 2.0 (na maioria das vezes implementado a versão 2.0 do .NET Framework das especificações ECMA) oferece suporte à sintaxe e recursos do C # 3.0.
VERSION _____
ESPECIFICAÇÃO DO IDIOMA ______
MICROSOFT COMPILER
C # 1.0 / 1.2 ____
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
Histórico da versão do C #:
C # é uma linguagem de programação orientada a objetos simples e poderosa desenvolvida pela Microsoft.
O C # evoluiu muito desde o 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 em versões c # .