Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Use a const palavra-chave para declarar um campo constante ou uma constante local. Campos constantes e locais não são variáveis e não podem ser modificados. As constantes podem ser números, valores booleanos, cadeias de caracteres ou uma referência nula. Não crie uma constante para representar informação que espera que mude ao longo do tempo. Por exemplo, não use um campo constante para guardar o preço de um serviço, o número de versão do produto ou o nome da marca de uma empresa. Estes valores podem mudar ao longo do tempo e, como os compiladores propagam constantes, outro código compilado com as tuas bibliotecas precisa de ser recompilado para ver as alterações. Consulte também a palavra-chave somente leitura. Por exemplo:
const int X = 0;
public const double GravitationalConstant = 6.673e-11;
private const string ProductName = "Visual C#";
As cadeias interpoladas podem ser constantes se todas as expressões usadas forem também constantes. Esse recurso pode melhorar o código que cria cadeias de caracteres constantes:
const string Language = "C#";
const string Platform = ".NET";
const string FullProductName = $"{Platform} - Language: {Language}";
A referência da linguagem C# documenta a versão mais recentemente lançada da linguagem C#. Contém também documentação inicial para funcionalidades em versões preliminares públicas para a próxima versão da linguagem.
A documentação identifica qualquer funcionalidade introduzida pela primeira vez nas últimas três versões da língua ou em pré-visualizações públicas atuais.
Sugestão
Para saber quando uma funcionalidade foi introduzida pela primeira vez em C#, consulte o artigo sobre o histórico de versões da linguagem C#.
O tipo de declaração constante especifica o tipo de membros que a declaração introduz. O inicializador de uma constante local ou de um campo constante deve ser uma expressão constante que o compilador pode converter implicitamente para o tipo alvo.
Uma expressão constante é uma expressão que o compilador pode avaliar totalmente em tempo de compilação. Portanto, os únicos valores possíveis para constantes de tipos de referência são cadeias de caracteres e uma referência nula.
Pode declarar múltiplas constantes numa única declaração constante, tais como:
public const double X = 1.0, Y = 2.0, Z = 3.0;
O modificador static não é permitido em uma declaração constante.
Uma constante pode participar de uma expressão constante, da seguinte maneira:
public const int C1 = 5;
public const int C2 = C1 + 100;
Observação
A palavra-chave somente leitura difere da palavra-chave const. Só pode inicializar um const campo na declaração do campo. Pode inicializar um readonly campo tanto na declaração como num construtor. Portanto, readonly campos podem ter valores diferentes dependendo do construtor usado. Além disso, embora um campo const seja uma constante de tempo de compilação, o campo readonly pode ser usado para constantes de tempo de execução, como nesta linha: public static readonly uint l1 = (uint)DateTime.Now.Ticks;
Exemplos
public class ConstTest
{
class SampleClass
{
public int x;
public int y;
public const int C1 = 5;
public const int C2 = C1 + 5;
public SampleClass(int p1, int p2)
{
x = p1;
y = p2;
}
}
static void Main()
{
var mC = new SampleClass(11, 22);
Console.WriteLine($"x = {mC.x}, y = {mC.y}");
Console.WriteLine($"C1 = {SampleClass.C1}, C2 = {SampleClass.C2}");
}
}
/* Output
x = 11, y = 22
C1 = 5, C2 = 10
*/
O exemplo seguinte mostra como declarar uma constante local:
public class SealedTest
{
static void Main()
{
const int C = 707;
Console.WriteLine($"My local constant = {C}");
}
}
// Output: My local constant = 707
Especificação da linguagem C#
Para obter mais informações, consulte as seguintes seções da especificação da linguagem C# :
Ver também
- C# palavras-chave
- somente leitura