Start Debugging
2024-12-01 Atualizado 2026-02-08 csharpdotnet Edit on GitHub

Histórico de versões da linguagem C#

A evolução do C# o transformou em uma linguagem moderna e de alto desempenho. Este guia acompanha cada marco importante. Os primeiros anos (C# 1.0 - 1.2). O C# foi lançado em 2002 como linguagem primária para o .NET Framework. Parecia com Java, mas com foco no desenvolvimento Windows. A versão 1.2 chegou logo depois com pequenas...

A evolução do C# o transformou em uma linguagem moderna e de alto desempenho. Este guia acompanha cada marco importante.

Os primeiros anos (C# 1.0 – 1.2)

O C# foi lançado em 2002 como linguagem primária para o .NET Framework. Parecia com Java, mas com foco no desenvolvimento Windows. A versão 1.2 chegou logo depois com pequenas melhorias, como o suporte a IDisposable em loops foreach.

A linguagem tinha os seguintes objetivos:

  • Pretende ser uma linguagem de programação simples, moderna, de propósito geral e orientada a objetos.
  • Deve incluir verificação forte de tipos, verificação de limites de array, detecção de tentativas de usar variáveis não inicializadas, portabilidade do código-fonte e coleta automática de lixo.
  • Destina-se a ser usada no desenvolvimento de componentes de software que possam aproveitar ambientes distribuídos.
  • Como a portabilidade do programador é muito importante, especialmente para aqueles já familiarizados com C e C++, o C# é o mais adequado.
  • Fornecer suporte para internacionalização, já que isso era muito importante.
  • Pretende ser adequado para escrever aplicações tanto para sistemas hospedados quanto embarcados.

Fonte: Objetivos de design do C#

Grandes mudanças de produtividade (C# 2.0 – 5.0)

Essas versões introduziram os recursos que mais usamos hoje.

A era do compilador moderno (C# 6.0 – 9.0)

Com o compilador Roslyn, as atualizações ficaram mais rápidas e frequentes.

Avanços recentes (C# 10.0 – 13.0)

A linguagem agora evolui anualmente junto com o .NET.

O que há de novo no C# 14?

Lançado com o .NET 10, o C# 14 introduz várias melhorias de qualidade de vida.

A palavra-chave field

Você não precisa mais declarar manualmente campos de apoio para propriedades. A palavra-chave field permite acessar o campo gerado pelo compilador diretamente dentro dos acessadores.

public string Name { 
    get => field; 
    set => field = value ?? "Unknown"; 
}

Membros de extensão

O C# 14 expande os métodos de extensão. Você pode agora definir propriedades de extensão, membros estáticos e até operadores dentro de um novo bloco extension.

Outros recursos chave

Comments

Sign in with GitHub to comment. Reactions and replies thread back to the comments repo.

< Voltar