const (Riferimenti per C#)

La parola chiave const viene utilizzata per modificare una dichiarazione di un campo o di una variabile locale. Specifica che il valore del campo o della variabile locale è costante e quindi non può essere modificato. Di seguito è riportato un esempio.

const int x = 0;
public const double gravitationalConstant = 6.673e-11;
private const string productName = "Visual C#";

Note

Il tipo di una dichiarazione di costante specifica il tipo di membri introdotti dalla dichiarazione. Un'espressione di costanti deve fornire il valore del tipo di destinazione o di un tipo che possa essere convertito in modo implicito nel tipo di destinazione.

Un'espressione di costanti è un'espressione che può essere valutata interamente in fase di compilazione. Di conseguenza, gli unici valori possibili per le costanti dei tipi di riferimento sono string e null.

La dichiarazione di costante può includere più costanti, ad esempio:

public const double x = 1.0, y = 2.0, z = 3.0;

Il modificatore static non è consentito in una dichiarazione di costante.

Una costante può far parte di un'espressione costante, ad esempio:

public const int c1 = 5;
public const int c2 = c1 + 100;

Nota

La parola chiave readonly è diversa dalla parola chiave const. Un campo const può essere inizializzato solo nella dichiarazione del campo, Un campo readonly può essere inizializzato nella dichiarazione o in un costruttore. I campi readonly possono quindi presentare valori diversi a seconda del costruttore utilizzato. Inoltre, mentre un campo const rappresenta una costante in fase di compilazione, il campo readonly può essere utilizzato per le costanti in fase di esecuzione, come nella riga public static readonly uint l1 = (uint)DateTime.Now.Ticks;

Esempio

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
 */

In questo esempio viene illustrato come utilizzare le costanti come variabili locali.

public class SealedTest
{
    static void Main()
    {
        const int c = 707;
        Console.WriteLine("My local constant = {0}", c);
    }
}
// Output: My local constant = 707

Specifiche del linguaggio C#

Per ulteriori informazioni, vedere la Specifiche del linguaggio C#. La specifica del linguaggio è la fonte ufficiale per la sintassi e l'utilizzo di C#.

Vedere anche

Riferimenti

Parole chiave di C#

Modificatori (Riferimenti per C#)

readonly (Riferimenti per C#)

Concetti

Guida per programmatori C#

Altre risorse

Riferimenti per C#