Einschränkungen gelten für implizit typisierte Variablendeklarationen

8

Ich habe über implizit typisierte lokale Variablen (var) auf

gelesen

Ссылка

Es 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?

    
Tanaji Kamble 28.08.2013, 07:24
quelle

1 Antwort

12

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"

xanatos 28.08.2013, 07:25
quelle

Tags und Links