Arbeiten mit .NET: Materialien/ Programmierkurs C-Sharp: Konstanten

KonstantenBearbeiten

Einem mit const deklarierten "Objekt" kann nach der Deklaration und Initialisierung kein neuer Inhalt zugewiesen werden. Das "Objekt" wird dadurch zu einer Konstanten.

Eine Konstante kann dabei in C# ein Grunddatentyp sowie eine Aufzählung (Enumeration) sein.

Bei allen anderen Wertdatentypen (Strukturen) sowie Referenztypen ist eine Deklaration mit dem Modifizierer const nicht erlaubt.

Fehlerhafte Zuweisungen an eine Konstante werden mit dem Kompilerfehler CS0133 vom C#-Kompiler quittiert.

using System;
using System.IO;

public class ConstBeispiel { public static void Main() { //Es wird eine Konstante für die Länge eines Arrays angelegt const int arrayLength = 1024; //Es wird eine Konstante festgelegt, welche die Zugriffart auf eine Datei beschreibt (Enum) const FileMode fm = FileMode.Open; //Es wird eine Konstante festgelegt, welche den Namen der zu öffnende Datei festlegt const string fileName = "beispiel.txt"; //Buffer erstellen byte[] readBuffer = new byte[arrayLength]; //Stream zur Datei öffnen Filestream fs = new FileStream(fileName,fm); //Daten Lesen fs.Read(readBuffer,0,readBuffer.Length); //Stream schliesen fs.Close(); //Daten ggf. bearbeiten. ... // FEHLER: IList wird ein Referenzdatentyp zugewiesen, nicht konstant const IList liste = new ArrayList();
// FEHLER: IList wird ein Struct zugewiesen, welcher der C# Kompiler nicht kennt const TimeSpan zeitSpanne = new TimeSpan(10); } }