Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Use a const palavra-chave para declarar um campo constante ou uma constante local. Campos e locais constantes não são variáveis e não podem ser modificados. As constantes podem ser números, valores boolianos, cadeias de caracteres ou uma referência nula. Não crie uma constante para representar informações que você espera alterar ao longo do tempo. Por exemplo, não use um campo constante para armazenar o preço de um serviço, um número de versão do produto ou o nome da marca de uma empresa. Esses valores podem ser alterados ao longo do tempo e, como os compiladores propagam constantes, outros códigos compilados com suas bibliotecas precisam ser recompilados para ver as alterações. Veja também a palavra-chave readonly. Por exemplo:
const int X = 0;
public const double GravitationalConstant = 6.673e-11;
private const string ProductName = "Visual C#";
Cadeias de caracteres interpoladas podem ser constantes se todas as expressões usadas também forem cadeias de caracteres 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 linguagem C# faz referência a documentos da versão mais recentemente lançada da linguagem C#. Ele também contém a documentação inicial para funcionalidades em pré-visualizações públicas para o próximo lançamento do idioma.
A documentação identifica qualquer recurso introduzido pela primeira vez nas três últimas versões do idioma ou nas versões prévias públicas atuais.
Dica
Para descobrir quando um recurso foi introduzido pela primeira vez em C#, consulte o artigo sobre o histórico de versão da linguagem C#.
O tipo de uma declaração constante especifica o tipo dos membros que a declaração apresenta. O inicializador de uma constante local ou de um campo constante deve ser uma expressão constante que o compilador pode converter implicitamente no tipo de destino.
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.
Você pode declarar várias constantes em uma única declaração constante, como:
public const double X = 1.0, Y = 2.0, Z = 3.0;
O modificador de 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;
Nota
A palavra-chave readonly é diferente da palavra-chave const. Você só pode inicializar um const campo na declaração do campo. Você pode inicializar um readonly campo na declaração ou em um 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 a seguir 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#: