Tópicos importantes de C#

Métodos de extensão (extension methods) em C#

Nesta lição, você vai adicionar um novo método ao tipo string existente sem modificar esse tipo.

Introdução

Os métodos de extensão (extension methods) permitem "adicionar" métodos a um tipo que já existe, até mesmo tipos do .NET como string. Na verdade é um método static, mas chamado com a mesma sintaxe de um método do objeto, o que deixa o código mais fácil de ler e de encontrar.

A palavra-chave this no primeiro parâmetro de Truncate indica que ele é um método de extensão do tipo string. Assim você pode chamar "CodeUtility".Truncate(4) como se Truncate fosse um método nativo da string. Ele corta a string para 4 caracteres e acrescenta reticências, resultando em Code…. O tipo string original não muda em nada.

Exemplo de C# executável

C#
Rodar código →
Program.cs
using System;

static class StringExtensions
{
    public static string Truncate(this string value, int length)
        => value.Length <= length ? value : value[..length] + "…";
}

class Program
{
    static void Main() => Console.WriteLine("CodeUtility".Truncate(4));
}
Resultado da execução
Code…

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