Warum C# kein 'const' hat


Thomas Wölfer
Thomas Wölfer

27. April 2004


Die kurze Begründung gibts bei Eric Gunnerson, die etwas längere bei Stan Lippman.

Im Wesentlichen läuft es darauf hinaus: Die CLR (die .NET Common Language Runtime) unterstützt 'const' nicht - und C# darum auch nicht.

Wieso die CLR das nicht unterstützt kommt nicht ganz raus; offenbar gibt es aber Probleme mit einige Sprachen bei denen 'const' nicht ohne weiteres eingebaut werden kann, mit denen aber auch für die CLR programmiert werden können soll.

Update: Daraus hat sich eine interessante Diskussion mit Raymond Chen ergeben. Es läuft darauf hinaus, das die CLR kein 'const' hat, weil das zu Problemen mit Visual Basic führen würde, was wiederum dazu führt das die interoperabilität von Code aus verschiedenen Sprache gestört wäre.

Ich halte das für ein ziemlich dürftiges Argument.