Warum wurde C # nicht mit 'const' für Variablen und Methoden entworfen? [Duplikat]

8

Ich vermute, dass const für die C # -Spezifikation für die Einfachheit der allgemeinen Sprache vereinfacht wurde. Gab es einen bestimmten Grund, warum wir Variablenreferenzen oder Methoden nicht als const deklarieren können, wie wir es mit C ++ können? z.B.:

%Vor%     
spoulson 03.06.2010, 17:12
quelle

3 Antworten

1

A const führt eine Kompilierzeit-Substitution des Werts durch, wo immer er verwendet wird, und hat daher keine Laufzeitbedeutung. Im Allgemeinen ist es für den Compiler sehr schwierig, was Sie für konstante Objekte vorschlagen (wenn eine Methode das Objekt ändert oder nicht). Ihr Vorschlag, ein const-Schlüsselwort als Zugriffsmodifizierer zu verwenden, belastet den Writer ebenfalls, und Sie haben immer noch ein Problem mit der Überprüfung, ob etwas das Objekt ändert oder nicht. Außerdem drückst du etwas auf das Objekt, das in allen Kontexten keine Bedeutung hat. Was bedeutet es, wenn die Methode const ist, aber Sie verwenden es nicht als const-Objekt? Die gewünschte Funktionalität wird normalerweise durch Implementieren einer Schnittstelle und Aussetzen der "schreibgeschützten" Teile der Klasse erreicht.

    
Craig Suchanec 03.06.2010 17:25
quelle
0

Ich vermute, dass der erste Satz Ihrer Frage darauf antwortet.

    
zneak 03.06.2010 17:17
quelle
0

Ich glaube, Sie können Variablen als const in C # deklarieren. static auch, wenn Sie das Bedürfnis haben.

Ссылка

    
Caleb Thompson 03.06.2010 17:18
quelle

Tags und Links