un. variété magique
Une déclaration de variable var a été ajoutée en C# 3.0. Cette déclaration est similaire à la var de JavaScript, mais elle est également différente.
1. Même point, il peut utiliser var pour déclarer tout type de variable locale.
2. La différence est qu'il est uniquement chargé d'indiquer au compilateur que la variable doit déduire le type de variable en fonction de l'expression d'initialisation, et il ne peut s'agir que d'une variable locale.
deux. Similitudes
on peut le déclarer
var entier = 10 ;
var nom = "edisundong";
var numéros = new int[] { 1, 2, 3 };
trois. Différences
var n'est qu'un mot-clé. Ce n'est pas un nouveau type en C# 3.0. Il est chargé d'indiquer au compilateur que la variable doit déduire le type de la variable en fonction de l'expression d'initialisation.
int entier = 10 ;
nom de chaîne = "edisundong" ;
int[] nombres = nouveau int[] { 1, 2, 3 };
trois. Note
1. Une valeur doit être attribuée au moment de la déclaration, car la déclaration dépend de l'expression à droite du numéro d'affectation s'il y a l'instruction suivante :
var entier ;
entier = 10 ;
Une erreur Les locaux implicitement typés doivent être initialisés sera signalée lors de la compilation.
2. Après avoir utilisé var pour déclarer une variable locale, elle a toujours un type fort et peut être testée comme suit :
var entier = 10 ;
entier = "edisundong" ;
Une erreur Impossible de convertir implicitement le type 'string' en 'int' sera signalée lors de la compilation.
3. Le type de compilation de l'expression d'initialisation ne peut pas être le type vide (null). Le compilateur ne peut pas déduire le type de variables locales basées sur null, comme l'instruction suivante :
var entier = nul ;
Impossible d'attribuer '
4. L'instruction d'initialisation doit être une expression. L'expression d'initialisation ne peut pas se contenir elle-même, mais peut être une nouvelle expression (c'est-à-dire un type anonyme) contenant un initialiseur d'objet ou de collection.
Par exemple, vous pouvez le déclarer comme ceci :
varcoll = new Hashtable();
5. La déclaration de var est limitée aux variables locales et peut également être incluse dans les instructions foreach, for et using. L'utilisation suivante est incorrecte :
Programme de classe
{
private var i = 10; //Variables privées globales.
static void Main(string[] arguments)
{ }
}
Le mot-clé contextuel 'var' ne peut apparaître que dans une erreur de déclaration de variable locale qui sera signalée lors de la compilation.
Cet article provient du blog CSDN Veuillez indiquer la source lors de la réimpression : http://blog.csdn.net/superyoungchaos/archive/2009/12/23/5060696.aspx.