Exercícios de C#

Classificar dados com pattern matching em C#

Nesta lição, você vai classificar valores de vários tipos com padrões de tipo, de comparação e de propriedade.

Introdução

Com pattern matching, você combina a verificação de tipo, a verificação de valor e a extração de dados em uma mesma expressão. Este exercício cria uma função de classificação que recebe qualquer valor e retorna a descrição adequada.

O padrão int and >= 18 combina com inteiros a partir de 18. O padrão string { Length: 0 } combina com a string vazia, depois de confirmar que o valor é mesmo uma string. O padrão string text combina com todas as outras strings e coloca o valor na variável text. Como "CSharp" tem 6 caracteres, o resultado é text(6).

Exemplo de C# executável

C#
Rodar código →
Program.cs
using System;
class Program
{
    static string Classify(object? value) => value switch
    {
        int and >= 18 => "adult age", string { Length: 0 } => "empty text",
        string text => $"text({text.Length})", null => "null", _ => "other"
    };
    static void Main() => Console.WriteLine(Classify("CSharp"));
}
Resultado da execução
text(6)

Pratique com o depurador

Coloque um breakpoint em uma atribuição ou condição importante, clique em Debug e veja os valores das variáveis locais antes de passar para a próxima linha.

Pratique com um desafio

Use o conteúdo desta lição para resolver um problema real. Cada desafio roda no navegador, com testes instantâneos e uma revisão por IA.

Todos os desafios