【问题标题】:var keyword runtime or compile time?var 关键字运行时还是编译时?
【发布时间】:2011-04-07 16:04:50
【问题描述】:

var 关键字在运行时或编译时获取类型?

还是取决于?

【问题讨论】:

标签: c# .net variables


【解决方案1】:

简单明了:编译时间

var 不是类型。实际类型是在编译时计算出来的。

var 变量也称为Implicitly Typed Local Variables (C# Programming Guide)

【讨论】:

  • 我一直在尝试提出一个直到运行时才知道类型的案例,这可能吗?
  • @user,没有。如果编译器不能确定类型,编译就会失败。
  • 您应该检查 C# 4.0 中的新 dynamic 关键字。 msdn.microsoft.com/en-us/library/dd264736.aspx
  • @Leniel Macaferi,编译器知道类型,即使在动态类型的情况下也是如此。编译器只是不知道动态类型的任何特定实例的功能。
【解决方案2】:

var 类型位于 compile time

Var 是一个隐式类型的局部变量是强类型的,就像你自己声明了类型一样,但是编译器确定类型

var i = 10; // implicitly typed
int i = 10; //explicitly typed

http://msdn.microsoft.com/en-us/library/bb383973.aspx

【讨论】:

  • 如果你要从 MSDN 页面添加引号,你不妨链接到它。
【解决方案3】:

var keyword 是隐式类型的。这意味着它是强类型的,但由编译器确定类型。

【讨论】:

    猜你喜欢
    • 2013-08-29
    • 2012-06-26
    • 1970-01-01
    • 2012-09-24
    • 1970-01-01
    • 1970-01-01
    • 2013-09-17
    • 2013-11-06
    • 1970-01-01
    相关资源
    最近更新 更多