C# em 2025: Novas possibilidades na prática

Treinador Online de Python para Iniciantes

Aprenda Python facilmente sem sobrecarga teórica. Resolva tarefas práticas com verificação automática e escreva código diretamente no navegador.

Start Course

C# em 2025: O que há de novo na prática?

O mundo .NET não para. Em 2025, a linguagem C# continua a se desenvolver ativamente, oferecendo aos desenvolvedores ferramentas para escrever código mais conciso, seguro e eficiente. Cada atualização da plataforma torna o desenvolvimento diário mais conveniente, e as novas construções da linguagem permitem eliminar o código repetitivo.

Neste artigo, vamos analisar três principais inovações do C# em 2025 que você pode começar a usar agora mesmo. Todos os exemplos de código são retirados da prática real e adaptados para o portal educacional pythonlib.ru.



1. Construtores Primários (Primary Constructors)

Uma das novidades mais esperadas são os construtores primários para classes e estruturas. Anteriormente, essa funcionalidade estava disponível apenas para registros (record). Agora você pode declarar os parâmetros do construtor diretamente no cabeçalho da classe, o que reduz significativamente a quantidade de código.

Vamos considerar um exemplo clássico de criação de um modelo de usuário:



Como era (C# 12 e anteriores):

public class User{    public string Name { get; }    public int Age { get; }

public User(string name, int age) { Name = name; Age = age; }}


Como ficou (C# 2025):

public class User(string name, int age){    public string Name { get; } = name;    public int Age { get; } = age;        public string Greeting => $"Olá, {Name}! Você tem {Age} anos.";}


Como você pode ver, o código ficou mais limpo. Os parâmetros name e age agora estão disponíveis em todo o corpo da classe. Isso é especialmente útil ao trabalhar com Dependency Injection (DI) no ASP.NET Core:



public class WeatherService(HttpClient httpClient, ILogger<WeatherService> logger){    public async Task<string> GetWeatherAsync(string city)    {        logger.LogInformation("Solicitando clima para a cidade {City}", city);        var response = await httpClient.GetStringAsync($"https://api.weather.com/{city}");        return response;    }}


Os construtores primários permitem eliminar vários campos e atribuições explícitas, tornando o código mais declarativo.



2. Coleções do Novo Padrão (Collection Expressions)

Em 2025, o C# recebeu uma poderosa atualização para trabalhar com coleções. Agora você pode inicializar listas, arrays e até mesmo Span<T> com uma sintaxe unificada — collection expressions.



A nova sintaxe usa colchetes [] em vez de chaves {} ou new List<T>():



Exemplo de inicialização de várias coleções:

// Arrayint[] numbers = [1, 2, 3, 4, 5];

// ListaList<string> names = ["Ana", "Boris", "Victor"];

// Span (funciona sem alocações)Span<char> letters = ['A', 'B', 'C'];


A principal novidade é o operador de espalhamento (spread) ... Ele permite combinar coleções sem chamar .Concat() ou .AddRange():



int[] first = [1, 2, 3];int[] second = [4, 5, 6];

// Combinação de arraysint[] combined = [..first, ..second]; // [1, 2, 3, 4, 5, 6]

// Adicionando elementos no início e no finalint[] extended = [0, ..combined, 7]; // [0, 1, 2, 3, 4, 5, 6, 7]


Essa sintaxe funciona não apenas com arrays, mas também com List<T>, HashSet<T> e até mesmo com coleções personalizadas que implementam ICollection<T>. Para desenvolvedores acostumados com Python, essa abordagem parecerá muito familiar e intuitiva.



3. Interpolação de Strings Aprimorada e Tratamento de Exceções

A interpolação de strings no C# 2025 recebeu várias melhorias importantes que a tornam ainda mais flexível.



3.1. Interpolação em operadores nameof

Agora você pode

Blogs

Book Recommendations