Ich habe über implizit typisierte lokale Variablen (var) auf
gelesenEs gibt eine Einschränkung:
Wenn ein Typ namens var im Gültigkeitsbereich ist, wird das Schlüsselwort var in diesen Typnamen aufgelöst und nicht als Teil einer implizit eingegebenen lokalen Variablendeklaration behandelt.
Kann jemand erklären, was mit Aussage mit C # -Beispiel gemeint ist?
Wenn Sie das tun:
%Vor% Das myVar
hat den Typ var
und nicht den Typ int
.
(das operator
, das ich hinzugefügt habe, ist so, dass es eine implizite Konvertierung von int
nach var
gibt).
Diese Regel wurde eingefügt, weil var
in C # kein reserviertes Schlüsselwort war (und immer noch nicht ... Wenn Sie Hier sehen Sie, dass es sich um ein" kontextabhängiges Schlüsselwort "handelt. Daher war eine Klasse / struct / enum namens var
in C # 2.0 gültig.
Wenn ein Typ mit dem Namen var im Geltungsbereich ist: Wenn es eine Klasse / struct / enum namens var im Geltungsbereich gibt (also "erreichbar", indem man einfach var schreibt, ohne müssen) Verwenden Sie einen Namensraum)
dann wird das Schlüsselwort var in diesen Typnamen aufgelöst :% var
bedeutet "Ihr benutzerdefinierter Typ" und nicht "das Schlüsselwort var"