Const (referência de C#)
O const palavra-chave é usada para modificar uma declaração de um campo ou uma variável local.Especifica que o valor do campo ou a variável local é constante, o que significa que ele não pode ser modificado.Por exemplo:
const int x = 0;
public const double gravitationalConstant = 6.673e-11;
private const string productName = "Visual C#";
Comentários
O tipo de uma declaração de constante Especifica o tipo dos membros introduzida pela declaração.Uma expressão de constante deve produzir um valor no tipo de destino ou de um tipo que possa ser implicitamente convertido para o tipo de destino.
Uma expressão constante é uma expressão que pode ser completamente avaliada em tempo de compilação.Portanto, a única possível valores para constantes de tipos de referência são string e null.
A declaração da constante pode declarar constantes vários, tais como:
public const double x = 1.0, y = 2.0, z = 3.0;
O static modificador não é permitido em uma declaração de constante.
Uma constante pode participar em uma expressão de constante da seguinte maneira:
public const int c1 = 5;
public const int c2 = c1 + 100;
Observação |
---|
O readonly palavra-chave difere do const palavra-chave.A const campo somente pode ser inicializado na declaração do campo.A readonly campo pode ser inicializado na declaração ou em um construtor.Portanto, readonly campos podem ter valores diferentes dependendo do construtor usado.Além disso, embora um const campo é uma constante de tempo de compilação, o readonly campo pode ser usado para constantes de tempo de execução, como nesta linha:public static readonly uint l1 = (uint)DateTime.Now.Ticks; |
Exemplo
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()
{
SampleClass mC = new SampleClass(11, 22);
Console.WriteLine("x = {0}, y = {1}", mC.x, mC.y);
Console.WriteLine("c1 = {0}, c2 = {1}",
SampleClass.c1, SampleClass.c2 );
}
}
/* Output
x = 11, y = 22
c1 = 5, c2 = 10
*/
Este exemplo demonstra como usar constantes como variáveis locais.
public class SealedTest
{
static void Main()
{
const int c = 707;
Console.WriteLine("My local constant = {0}", c);
}
}
// Output: My local constant = 707
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
Modificadores (referência de C#)