C#中object和var的区别
object
和 var
有什么区别?
What is the difference between object
and var
?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
object
和 var
有什么区别?
What is the difference between object
and var
?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(2)
var
- 未明确指定类型。让编译器弄清楚该类型是什么。Pauli
在评论中指出的那样,您将获得intelliSense
。var i;
无法编译。匿名类型
配合得很好 。您将获得intelliSense
。对象
-System.Object
。intelliSense
。例子:
var
- Not specifying the type explicitly. Letting compiler figure out what that type is.Pauli
noted in a comment, you getintelliSense
.var i;
won't compile.Anonymous Types
. You getintelliSense
.object
-System.Object
.intelliSense
.Example:
运行时,但 var 确定于
编译时间。
例如:
你在 ildasm 中查看它:
你可以看到 object item 应该装箱,而 var item 不需要装箱。
对象 和 var
你也可以这样做:
但你不能这样做:
<前><代码> var i;
我 = 2;
你会得到编译错误。
.Net继承自它,所以你可以这样做
对于任何类型的 y,对象 x = y
因为继承,但 var 是一个
隐式类型定义的关键字,
例如 var i = 2 表示 int i =
2.
runtime, but var determined in
compile time.
for example:
and you look at it in ildasm:
You can see object item should be boxed and var item no need to boxing.
MSDN for object and var
Also you can do:
but you can't do:
you will get compile error.
.Net inherited from it, so you can do
object x = y for any type of y
because of inheritance, but var is a
keyword for implicit type definition,
for example var i = 2 means int i =
2.