Const (translation from VPE for Csharp Reference)
The const palavra-chave é usada para modificar uma declaração de um campo ou variável local. Ele especifica que o valor do campo ou a variável local é constante, 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 introduzidas pela declaração.Uma expressão de constante deve produzir um valor do tipo de destino ou de um tipo que possa ser implicitamente convertido para o tipo de destino.
Uma expressão de constante é uma expressão que pode ser completamente avaliada em time de compilar.Portanto, os valores só é possíveis para constantes de tipos de referência são string e null.
A declaração de constante pode declarar constantes vários, sistema autônomo:
public const double x = 1.0, y = 2.0, z = 3.0;
The 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 somente leitura palavra-chave é diferente do const palavra-chave. A const campo somente pode ser inicializado na declaração de 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 time de compilar, o readonly campo pode ser usado para constantes de time de execução, sistema autônomo 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 sistema autônomo usar constantes sistema autônomo 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 as seções a seguir no Especificação da linguagem C#:
6.1.6 Conversões de expressão de constante implícita
8.5.2 Declarações de constante locais
Consulte também
Conceitos
Referência
somente leitura (translation from VPE for Csharp Reference)