Recursos Úteis em C# 9

Mar 09 2023
Aqui está um exemplo de uma classe com uma propriedade somente de inicialização: Aqui está um exemplo de um programa simples usando instruções de nível superior: 4. Correspondência de padrão aprimorada: C# 9 introduz várias melhorias na correspondência de padrão, tornando-a mais fácil e mais expressiva.
  1. Registros : os registros são um novo tipo no C# 9 que permite criar tipos destinados principalmente a armazenar dados. Eles podem ser usados ​​no lugar de aulas, mas com algumas funcionalidades adicionais para torná-los mais fáceis de usar e mais expressivos.

public record Person(string FirstName, string LastName);

var person = new Person(“John”, “Doe”);

Console.WriteLine(person.FirstName); // Output: John
Console.WriteLine(person.LastName); // Output: Doe

Aqui está um exemplo de uma classe com uma propriedade init-only:

public class Person
{
    public string FirstName { get; init; }
    public string LastName { get; init; }
}

var person = new Person { FirstName = “John”, LastName = “Doe” };

person.FirstName = “Jane”; // Error: cannot modify readonly property

Aqui está um exemplo de um programa simples usando instruções de nível superior:

using System;
Console.WriteLine("Hello, world!");

4. Correspondência de padrões aprimorada: C# 9 introduz várias melhorias na correspondência de padrões, tornando-a mais fácil e expressiva. Uma das melhorias mais notáveis ​​é a capacidade de usar os operadores ande orem padrões.

Aqui está um exemplo de uma instrução switch que usa o andoperador em um padrão:

switch (obj)
{
 case string s and { Length: > 10 }:
   Console.WriteLine($”The string ‘{s}’ is longer than 10 characters.”);
   break;
 case string s:
   Console.WriteLine($”The string ‘{s}’ has length {s.Length}.”);
   break;
 case int i:
   Console.WriteLine($”The integer value is {i}.”);
   break;
 default:
   Console.WriteLine(“Unknown type.”);
   break;
}

Esses são apenas alguns dos muitos novos recursos do C# 9. Você pode aprender mais sobre esses e outros recursos na documentação oficial da Microsoft.