回答
简单明了:编译时间
var
不是一个类型。实际类型是在编译时计算出来的。
var
变量也被称为Implicitly Typed Local Variables (C# Programming Guide)
我一直在试图想出一个类型不会被知道直到运行时,这是可能的吗? – DarthVader 2010-09-03 03:52:36
@user,no。如果编译器无法确定类型,编译将失败。 – 2010-09-03 03:58:39
您应该在C#4.0中检查新的'dynamic'关键字。 http://msdn.microsoft.com/en-us/library/dd264736.aspx – 2010-09-03 03:58:48
变种类型得到的compile time
。
变种是一个隐式类型的局部变量是强类型的,就好像你已经自己声明的类型,但是编译器决定为
var i = 10; // implicitly typed
int i = 10; //explicitly typed
如果你打算从MSDN页面添加引号,你可以链接到它。 – 2010-09-03 03:52:26
的var keyword被隐式类型。这意味着它是强类型的,但编译器确定类型。
这已经在其他问题上进行了讨论,包括[C#'var'vs特定类型性能](http://stackoverflow.com/questions/356846/c-var-vs-specific-type-performance)和[ 动态(C#4)和var之间有什么区别? (http://stackoverflow.com/questions/961581/whats-the-difference-between-dynamicc-4-and-var)。 – 2010-09-03 03:57:51
它不会显示在建议家伙。为此实现更好的算法。我不会说话。 – DarthVader 2010-09-03 04:00:37
而我不是SO开发者,加上我没有投票结束。我添加了链接,以便人们可以去那里获取更多信息。 – 2010-09-03 04:05:41