在VB中,var
类型是否等同于Variant
?当object
可以接受任何数据类型时,这两者之间有什么区别?C#中“var”和“object”的区别
回答
从Visual C#3.0开始,在方法范围声明的变量可以有一个隐式类型var
。一个隐式类型的局部变量是强类型的,就像你自己声明了类型一样,但是编译器决定了类型。的i
以下两个声明在功能上等同:
var i = 10; //implicitly typed
int i = 10; //explicitly typed
VAR不反对
你一定要这样说的:C# 3.0 - Var Isn't Object
Nope - var
只是表示您让编译器从用于为变量赋值的表达式中推断出该类型。
这只是语法糖,让你少做打字 - 尝试使型“var
”的方法参数,看看会发生什么:]
所以,如果你有这样的表达:
var x = new Widget();
x
将是Widget
类型,而不是object
。
它不仅仅是保存输入 - 'var'是处理匿名类型的唯一方法。 – Kobi 2009-10-12 05:48:26
哦,是的 - 忘了那一点! – 2009-10-12 07:50:26
其他的答案是正确的,我只是喜欢补充一点,实际上你可以把你的光标放在'var'关键字上,然后按F12跳转到推断的类型声明。
或者你可以将光标放在“var”上稍微长一些,并在工具提示中看到传染类型; o) - Cédric1分钟前 – 2009-10-12 06:03:52
嗨,当我把光标放在var上并按F12时,我被导航到System.Object,所以我导航时,我把光标放在对象上,并按F12。对此的任何解释...我希望两者都是相同的 – Saravanan 2011-05-02 10:44:57
添加到岗位。
Parent p = new Parent();
Child c = new Child();//Child class derives Parent class
Parent p1 = new Child();
对于上面只能访问父(p1)属性事件,尽管它包含子对象引用。
var p= new Parent();
var c= new Child();
var p1 = new Child();
当使用'var'而不是类时,您可以访问父类和子类的属性。它的行为就像为孩子类创建对象一样。
一个区别是拳击和拆箱与对象。
装箱和拆箱的概念涉及将值类型转换为引用类型,反之亦然,例如,同时将整数值存储在数组列表中。 var与对象或装箱/拆箱无关。这只是一种编译器技巧,可以消除由于类型名称而涉及内部方法的大量绒毛。例如现在,而不是'ApplicationInstallerForBase obj = new ApplicationInstallerForBase();'我简单地写'var obj = new ApplicationInstallerForBase();'。 'ApplicationInstallerForBase'是我的应用程序中的一个类。 _Note_:我没有downvoted您的帖子。 – RBT 2016-12-12 05:38:44
- 1. object [] = object [] f = new object []和var f = new []之间的区别?
- 2. Object()和Object {}的区别{}
- 3. C#“var”和C++“auto”之间的区别
- 4. C++中object和object()之间的区别是什么
- 5. [Object,Object]和Array之间的区别(2)
- 6. 在Objective-C中Type * var和Type * var之间有什么区别?
- 7. var = 1和var = 1的区别
- 8. Var和新的区别
- 9. C - “char var []”和“char * var”之间的区别?
- 10. Chrome控制台中'[Object]'和'[object Object]'的区别?
- 11. {$ var}和$ var之间有什么区别?
- 12. var Object = new Object();
- 13. Object,Object和[1:Object,2:Object]之间有什么区别?
- 14. “var = $ {var:-word}”和“var = $ {var:= word}”有什么区别?
- 15. C#中new object()和new {}之间的区别是什么?
- 16. Obj-C中[object variable]和object.variable之间的区别?
- 17. Objective-C中'object'和'variable'的实际区别是什么?
- 18. c.Equals(b)和Equals(object a,object b)在c#中的区别是什么?
- 19. C#中的var和string有什么区别?
- 20. Typescript中var和let有什么区别?
- 21. Object的LinkedList和HashMap的LinkedList的区别?
- 22. Swift中var和var的区别是什么
- 23. 在bash脚本中$ {VAR:-...}和$ {VAR:?...}之间的区别是什么
- 24. apache中的$ {var}和%{VAR}有什么区别?
- 25. JavaScript中的'var $ x'和'var x'有什么区别?
- 26. Objects.hashCode()和new Object()。hashCode()之间的区别?
- 27. object.variable和object-> variable之间的区别
- 28. self.object和self> object之间的区别
- 29. [object Object]和[domado object HTMLFormElement FORM]有区别吗?
- 30. object x = null和object x =(object)null有什么区别?
只是等到'动态'增加了更多的混淆; -p – 2009-10-12 06:06:43
;)在这种情况下,你也有人在这里帮助我! – user184805 2009-10-12 06:13:08