¿El tipo var
es equivalente a Variant
en VB? Cuando object
puede aceptar cualquier tipo de datos, ¿cuál es la diferencia entre esos dos?Diferencia entre "var" y "objeto" en C#
Respuesta
A partir de Visual C# 3.0, las variables que se declaran en el alcance del método pueden tener un tipo implícito var
. Una variable local implícitamente tipada se escribe fuertemente como si hubiera declarado el tipo usted mismo, pero el compilador determina el tipo. Los siguientes dos declaraciones de i
son funcionalmente equivalentes:
var i = 10; //implicitly typed
int i = 10; //explicitly typed
var no es objeto
además se debería leer esto: C# 3.0 - Var Isn't Object
Nope - var
solo significa que está dejando que el compilador deduzca el tipo de la expresión utilizada para asignar un valor a la variable.
Es sólo el azúcar sintaxis para dejar que hagas menos escribir - trate de hacer un parámetro de método de tipo "var
" y ver lo que sucede:]
Así que si usted tiene una expresión como:
var x = new Widget();
x
será del tipo Widget
, no object
.
Hace más que guardar la escritura: 'var' es la única forma de tratar con tipos anónimos. – Kobi
¡Oh, sí, se olvidó de eso! –
las otras respuestas están justo en, que acababa de me gusta agregar que puedes poner tu cursor en la palabra clave 'var' y presionar F12 para saltar a la declaración de tipo inferido.
O simplemente puede dejar el cursor en "var" un poco más y ver el tipo inferido en la información sobre herramientas; o) - Cédric hace 1 minuto –
Hola, cuando coloco el cursor sobre var y presiono F12, estoy navegando al objeto System.Object, así que estoy navegado cuando coloco el cursor sobre el objeto y presiono F12. Cualquier explicación sobre esto ... Espero que ambos sean los mismos – Saravanan
Para más detalles echar un vistazo a http://www.codeproject.com/Tips/460614/Difference-between-var-and-dynamic-in-Csharp
Adición al poste.
Parent p = new Parent();
Child c = new Child();//Child class derives Parent class
Parent p1 = new Child();
Con lo anterior, solo puede acceder a las propiedades principales (p1) aunque contenga referencia de objeto hijo.
var p= new Parent();
var c= new Child();
var p1 = new Child();
Al usar 'var' en lugar de la clase, tiene acceso a las propiedades de la clase primaria y secundaria. se comporta como crear un objeto para la clase infantil.
una diferencia es el boxeo y el desempaquetado con objetos.
El concepto de boxeo y desembalaje se relaciona con los tipos de valores de conversión a los tipos de referencia y viceversa, p. mientras se almacena el valor entero en una lista de matriz. var no tiene nada que ver con objetos o boxeo/unboxing.Este es solo un truco del compilador para eliminar la gran cantidad de pelusas involucradas en los métodos debido a los nombres de los tipos. p.ej. Ahora en lugar de 'ApplicationInstallerForBase obj = new ApplicationInstallerForBase();' simplemente escribo 'var obj = new ApplicationInstallerForBase();'. 'ApplicationInstallerForBase' es una clase en mi aplicación. _Nota_: no he votado negativamente tu publicación. – RBT
- 1. C - ¿Diferencia entre "char var []" y "char * var"?
- 2. Diferencia entre objeto y *?
- 3. diferencia entre la palabra clave var y sin var
- 4. ¿Cuál es la diferencia entre dynamic (C# 4) y var?
- 5. Php: ¿cuál es la diferencia entre $ var y & $ var?
- 6. diferencia entre dmesg y /var/log/kern.log
- 7. C#: diferencia entre "System.Object" y "objeto"
- 8. Diferencia entre el objeto y el objeto
- 9. Diferencia entre objeto y NSObject
- 10. Diferencia entre matriz y objeto en js?
- 11. ¿Cuál es la diferencia entre var y quote?
- 12. Diferencia entre var y esto en las funciones de Javascript?
- 13. qmake variables, diferencia de $$ VAR y $$ {VAR}
- 14. Diferencia entre null == objeto y objeto == nulo
- 15. ¿Diferencia entre un objeto y un diccionario?
- 16. ¿Diferencia entre un objeto y un hash?
- 17. Diferencia entre objeto y clase en PHP?
- 18. Diferencia entre C: y C:/
- 19. var vs objetos en C#
- 20. ¿Cuál es la diferencia entre 'var $ x' y 'var x' en javascript?
- 21. Diferencia entre char * y char [] en C
- 22. Python: diferencia entre 'global' y globales(). Update (var)
- 23. Diferencia entre el objeto Node y el objeto Element?
- 24. diferencia entre una clase y un objeto en Javascript
- 25. Diferencia entre las anotaciones de matriz multidimensional (objeto [] [] y objeto [,])
- 26. punteros void: diferencia entre C y C++
- 27. Diferencia entre la variable de definición como var $ a = $() y var a?
- 28. Diferencia entre el objeto dinámico y System.Object
- 29. JQuery: ¿Cuál es la diferencia entre "var test" y "var $ test"
- 30. C# diferencia entre == y equals()
Simplemente espere hasta que 'dynamic' agregue aún más confusión ;-p –
;) en ese caso también ustedes están aquí para ayudarme! – user184805