Constantes (guia de programação de C#)
Constantes são imutáveis valores que são conhecidos no tempo de 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 Built-In Types Table (C# Reference). Tipos definidos pelo usuário, incluindo classes, structs e arrays, não podem ser const. Use o readonly não pode ser alterado 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 definir constantes nomeadas para integrais tipos internos (por exemplo int, uint, longe assim por diante). Para obter mais informações, consulte Enum (referência de C#).
Constantes devem ser inicializados como 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 de constante no código de origem C# (por exemplo, months), ele substitui o literal valor diretamente para a linguagem intermediária (IL) código 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 podem aparecer como um valor de l em uma expressão.
Observaçã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 se referir à 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 protected internal. Esses modificadores de acesso definem como os usuários da classe podem acessar a constante. Para obter mais informações, consulte Access Modifiers (C# Programming Guide).
Constantes são acessados como se fossem estático campos porque 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 C# Language Specification A especificação de linguagem é a fonte definitiva para a sintaxe e o uso de C#.
Consulte também
Referência
Classes e estruturas (guia de programação de C#)
Properties (C# Programming Guide)
Tipos (guia de programação de C#)