top of page

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}");
    }
}

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.


0 visualização

Posts recentes

Ver tudo

Dica C#: Default Interface Methods

Vamos falar sobre uma novidade do C# 12: Default Interface Methods. Esse recurso permite que interfaces contenham implementações de...

Dica C#: Global Using Directives

Vamos para uma dica do C# 10: Global Using Directives. Com essa funcionalidade, você pode definir diretivas using globais que se aplicam...

bottom of page