DEV Community

Juarez Júnior
Juarez Júnior

Posted 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

Top comments (0)