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

Guia de Programação C#

Referência

Palavras-chave C#

Modificadores (referência C#)

somente leitura (translation from VPE for Csharp Reference)

Outros recursos

Referência C#