Generics em C#
Nesta lição, você vai escrever uma classe genérica que pode ser reutilizada com vários tipos de dados mantendo a segurança de tipos.
Introdução
Generics permitem escrever classes ou métodos com um tipo ainda não definido, representado por T, e o tipo concreto é escolhido na hora de usar. Assim, você escreve o código uma vez e o usa com int, string ou qualquer outro tipo, enquanto o compilador continua verificando os tipos por completo.
A classe Box<T> guarda um valor do tipo T. Ao criar new Box<int>(42), T passa a ser int, então a propriedade Value é do tipo int, e se você tentar atribuir uma string o compilador acusa o erro na hora. A mesma classe pode ser usada como Box<string> ou Box<double> sem ser reescrita.
Exemplo de C# executável
using System;
class Box<T>(T value) { public T Value { get; } = value; }
class Program
{
static void Main()
{
var box = new Box<int>(42);
Console.WriteLine(box.Value);
}
}
42Pratique com o depurador
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