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 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 declaração de constante Especifica o tipo dos membros introduzido 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 constante é uma expressão que pode ser completamente avaliada em tempo de compilação. Portanto, os valores possíveis somente para constantes de tipos de referência são string e null.

A declaração de 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çãoObservaçã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 C# Language Specification A especificação de linguagem é a fonte definitiva para a sintaxe e o uso de C#.

Consulte também

Referência

C# Keywords

Modifiers (C# Reference)

ReadOnly (referência de C#)

Conceitos

C# Programming Guide

Outros recursos

C# Reference