Compartilhar via


Constantes (guia de programação do C#)

Constantes são imutáveis valores que são conhecidos no momento da compilação e não são alterados durante a vida útil do programa.Constantes são declarados com o const modificador.Somente C# tipos internos (excluindo System.Object) podem ser declarados como const.Para obter uma lista dos tipos internos, consulte Tabela de tipos internos (referência de C#).Tipos definidos pelo usuário, incluindo classes, structs e arrays, não podem ser const.Use o somente leitura não é possível alterar o modificador para criar uma classe, struct ou matriz é inicializada de uma vez no tempo de execução (por exemplo, em um construtor) e daí em diante.

C# não oferece suporte a const métodos, propriedades ou eventos.

O tipo enum permite que você defina a constantes nomeadas para tipos internos integrais (por exemplo int, uint, longe assim por diante).Para obter mais informações, consulte Enum (referência de C#).

Constantes devem ser inicializadas conforme elas são declaradas.Por exemplo:

class Calendar1
{
    public const int months = 12;
}

Neste exemplo, a constante months é sempre 12 e não pode ser alterado até mesmo pela própria classe.Na verdade, quando o compilador encontra um identificador constante no código-fonte do C# (por exemplo, months), ele substitui o valor literal diretamente para o código de linguagem intermediária (IL) que ele produz.Porque não há nenhum endereço de variável associado a uma constante em tempo de execução, const campos não podem ser passados por referência e não pode aparecer como um valor de l em uma expressão.

ObservaçãoObservação

Tenha cuidado ao fazer referência a valores constantes definidas em outros códigos como DLLs.Se uma nova versão da DLL define um novo valor para a constante, o seu programa ainda mantenha o valor literal antigo até que ele é recompilado contra a nova versão.

Várias constantes do mesmo tipo podem ser declarados ao mesmo tempo, por exemplo:

class Calendar2
{
    const int months = 12, weeks = 52, days = 365;
}

A expressão que é usada para inicializar uma constante pode consultar outra constante se ele não cria uma referência circular.Por exemplo:

class Calendar3
{
    const int months = 12;
    const int weeks = 52;
    const int days = 365;

    const double daysPerWeek = (double) days / (double) weeks;
    const double daysPerMonth = (double) days / (double) months;
}

Constantes podem ser marcados como pública, particular, protegido, interno, ou protectedinternal.Esses modificadores de acesso definem como os usuários da classe podem acessar a constante.Para obter mais informações, consulte Modificadores de acesso (guia de programação do C#).

Constantes são acessados como se fossem estático campos como o valor da constante é a mesma para todas as instâncias do tipo.Você não usar o static palavra-chave para declará-los.Expressões que não estão na classe que define a constante devem usar o nome da classe, um período e o nome da constante para acessar a constante.Por exemplo:

int birthstones = Calendar.months;

Especificação da linguagem C#

Para obter mais informações, consulte Especificação de linguagem do C# A especificação da linguagem é a fonte definitiva para a sintaxe e o uso da linguagem C#.

Consulte também

Referência

Classes e estruturas (guia de programação do C#)

Propriedades (guia de programação do C#)

Tipos (guia de programação do C#)

ReadOnly (referência de C#)

Conceitos

Guia de programação do C#

Outros recursos

Imutabilidade na C# Part One: tipos de imutabilidade