DEV Community

Juarez Júnior for Develop4Us

Posted on • Edited on

Dica C#: Utilize readonly para Constantes Imutáveis

Vamos falar sobre o uso de readonly para Constantes Imutáveis, uma prática que ajuda a garantir que certos valores permaneçam inalterados ao longo da execução do programa, melhorando a segurança e a legibilidade do código.

Explicação:

Ao declarar um campo como readonly, você assegura que ele não possa ser alterado após a inicialização, exceto no construtor da classe. Isso é útil para valores que precisam ser definidos apenas uma vez e permanecer constantes durante a execução do programa. O readonly permite que o valor seja atribuído no momento da criação do objeto ou no construtor, ao contrário de const, que requer a inicialização imediata com um valor fixo e não permite mudanças.

Essa prática é ideal para variáveis que podem depender de alguma lógica de construção, como o PI de uma geometria que talvez dependa de precisão definida em tempo de execução ou configurações dinâmicas.

Código:

public class Circulo
{
    public readonly double PI;

    public Circulo()
    {
        PI = 3.14159;
    }

    public double CalcularArea(double raio)
    {
        return PI * raio * raio;
    }
}

public class Program
{
    public static void Main()
    {
        Circulo circulo = new Circulo();
        double area = circulo.CalcularArea(5);
        Console.WriteLine($"Área do círculo: {area}");
    }
}
Enter fullscreen mode Exit fullscreen mode

Explicação do Código:

No exemplo, temos uma classe Circulo com um campo readonly chamado PI, inicializado no construtor. O readonly garante que o valor de PI não poderá ser alterado fora do construtor, assegurando sua imutabilidade após a criação do objeto.

O uso de readonly para Constantes Imutáveis melhora a segurança do código ao garantir que certos valores permaneçam inalterados, evitando erros e melhorando a legibilidade. Essa prática é ideal para variáveis que dependem de lógica de construção e precisam de imutabilidade.

Espero que essa dica ajude você a utilizar readonly para criar constantes seguras e imutáveis! Até a próxima.

Código fonte: GitHub

Sentry image

See why 4M developers consider Sentry, “not bad.”

Fixing code doesn’t have to be the worst part of your day. Learn how Sentry can help.

Learn more

Top comments (0)

A Workflow Copilot. Tailored to You.

Pieces.app image

Our desktop app, with its intelligent copilot, streamlines coding by generating snippets, extracting code from screenshots, and accelerating problem-solving.

Read the docs

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay