uno. var mágica
Se agregó una declaración de variable var en C# 3.0. Esta declaración es similar a la var de JavaScript, pero también es diferente.
1. El mismo punto, puede usar var para declarar cualquier tipo de variable local.
2. La diferencia es que solo es responsable de decirle al compilador que la variable necesita inferir el tipo de variable en función de la expresión de inicialización, y solo puede ser una variable local.
dos. Similitudes
se puede declarar
var entero = 10;
nombre var = "edisundong";
var números = nuevo int[] { 1, 2, 3 };
tres. Diferencias
var es solo una palabra clave. No es un tipo nuevo en C# 3.0. Es responsable de decirle al compilador que la variable necesita inferir el tipo de variable en función de la expresión de inicialización.
entero entero = 10;
nombre de cadena = "edisundong";
int[] números = nuevo int[] { 1, 2, 3 };
tres. Nota
1. Se debe asignar un valor en el momento de la declaración, porque la declaración depende de la expresión en el lado derecho del número de asignación si existe la siguiente declaración:
var entero;
entero = 10;
Durante la compilación se informará un error Los locales implícitamente escritos deben inicializarse.
2. Después de usar var para declarar una variable local, todavía tiene un tipo seguro y se puede probar de la siguiente manera:
var entero = 10;
entero = "edisundong";
Durante la compilación se informará un error No se puede convertir implícitamente el tipo 'cadena' a 'int'.
3. El tipo en tiempo de compilación de la expresión inicializadora no puede ser del tipo vacío (nulo). El compilador no puede inferir el tipo de variables locales basándose en nulo, como la siguiente declaración:
var entero = nulo;
No se puede asignar '
4. La declaración de inicialización debe ser una expresión. La expresión de inicialización no puede contenerse a sí misma, pero puede ser una nueva expresión (es decir, de tipo anónimo) que contenga un objeto o un inicializador de colección.
Por ejemplo, puedes declararlo así:
var coll = nueva Hashtable();
5. La declaración de var se limita a variables locales y también se puede incluir en declaraciones foreach, for y using. El siguiente uso es incorrecto:
programa de clase
{
var privada i = 10; //Variables privadas globales.
vacío estático principal (cadena [] argumentos)
{ }
}
La palabra clave contextual 'var' solo puede aparecer dentro de una declaración de variable local. Se informará un error durante la compilación.
Este artículo proviene del blog de CSDN. Indique la fuente al reimprimir: http://blog.csdn.net/superyoungchaos/archive/2009/12/23/5060696.aspx .