ein Projekt von goloroden.de

const

Allgemeines

Kennzeichnet ein Feld oder eine lokale Variable als konstant, das heißt, dass der Wert des Feldes oder der lokalen Variable nach der Definition nicht mehr geändert werden kann.

Beipiel

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
using System;

namespace GoloRoden.GuideToCSharp
{
    /// <summary>
    /// Represents the application class.
    /// </summary>
    public class Program
    {
        /// <summary>
        /// Contains the number pi.
        /// </summary>
        public const double _pi = 3.14159;

        /// <summary>
        /// Executes the application.
        /// </summary>
        public static void Main()
        {
            // Prints the number pi to the console.
            Console.WriteLine(this._pi);
        }
    }
}

Details

Da der Ausdruck, welcher einer Konstanten zugewiesen werden soll, zum Zeitpunkt der Kompilierung ausgewertet und als ausgewerteter Ausdruck in die Assembly geschrieben wird, muss er zu diesem Zeitpunkt auswertbar sein. Daher können mit Ausnahme von string und null Verweistypen nicht als konstant definiert werden.

Wird ein Element als konstant definiert, kann es nicht mit dem Schlüsselwort static gekennzeichnet werden.

Im Gegensatz zu readonly kann einem Element, das mit dem Schlüsselwort const gekennzeichnet wurde, nur bei der Definition ein Wert zugewiesen werden. Bei readonly ist das auch noch im Konstruktor möglich. const definiert also eine Konstante zur Übersetzungszeit, readonly eine Konstante zur Laufzeit.

Siehe auch (Referenz)

Siehe auch (Guide)