eins. Magie var
In C# 3.0 wurde eine Variablendeklaration var hinzugefügt. Diese Deklaration ähnelt der var von JavaScript, ist aber auch anders.
1. Derselbe Punkt: Es kann var verwenden, um jede Art von lokaler Variable zu deklarieren.
2. Der Unterschied besteht darin, dass es nur dafür verantwortlich ist, dem Compiler mitzuteilen, dass die Variable basierend auf dem Initialisierungsausdruck auf den Variablentyp schließen muss, und dass es sich nur um eine lokale Variable handeln kann.
zwei. Ähnlichkeiten
es kann deklariert werden
var integer = 10;
var name = "edisundong";
var zahlen = new int[] { 1, 2, 3 };
drei. Unterschiede
var ist nur ein Schlüsselwort in C# 3.0. Es ist dafür verantwortlich, dem Compiler mitzuteilen, dass der Typ der Variablen basierend auf dem Initialisierungsausdruck äquivalent ist
int ganze Zahl = 10;
string name = "edisundong";
int[] zahlen = new int[] { 1, 2, 3 };
drei. Notiz
1. Zum Zeitpunkt der Deklaration muss ein Wert zugewiesen werden, da die Deklaration vom Ausdruck auf der rechten Seite der Zuweisungsnummer abhängt.
var integer;
ganze Zahl = 10;
Während der Kompilierung wird ein Fehler gemeldet, dass implizit typisierte lokale Variablen initialisiert werden müssen.
2. Nachdem Sie var zum Deklarieren einer lokalen Variablen verwendet haben, hat diese immer noch einen starken Typ und kann wie folgt getestet werden:
var integer = 10;
integer = "edisundong";
Während der Kompilierung wird der Fehler „Typ „string“ kann nicht implizit in „int“ konvertiert werden“ gemeldet.
3. Der Typ des Initialisierungsausdrucks zur Kompilierungszeit darf nicht der leere Typ (Null) sein. Der Compiler kann nicht auf den Typ lokaler Variablen basierend auf Null schließen, wie z. B. die folgende Anweisung:
var integer = null;
„<null>“ kann einem implizit eingegebenen lokalen Fehler nicht zugewiesen werden. Beim Kompilieren wird ein Fehler gemeldet.
4. Die Initialisierungsanweisung muss ein Ausdruck sein. Der Initialisierungsausdruck darf sich nicht selbst enthalten, sondern kann ein neuer Ausdruck (dh ein anonymer Typ) sein, der einen Objekt- oder Sammlungsinitialisierer enthält.
Sie können es beispielsweise so deklarieren:
var coll = new Hashtable();
5. Die Deklaration von var ist auf lokale Variablen beschränkt und kann auch in foreach-, for- und using-Anweisungen eingebunden werden. Die folgende Verwendung ist falsch:
Klassenprogramm
{
private var i = 10; //Globale private Variablen.
static void Main(string[] args)
{ }
}
Das kontextbezogene Schlüsselwort „var“ darf nur innerhalb einer lokalen Variablendeklaration vorkommen. Bei der Kompilierung wird ein Fehler gemeldet.
Dieser Artikel stammt aus dem CSDN-Blog. Bitte geben Sie beim Nachdruck die Quelle an: http://blog.csdn.net/superyoungchaos/archive/2009/12/23/5060696.aspx