C# var关键字运行时还是编译时?

C# var关键字运行时还是编译时?,c#,.net,variables,C#,.net,Variables,var关键字在运行时或编译时获取类型 还是取决于?简单明了:编译时 var不是一种类型。实际类型是在编译时计算出来的 var变量也称为var类型在编译时获取 Var是一个隐式类型的局部变量,它是强类型的,就像您自己声明了类型一样,但是编译器确定了类型 var i = 10; // implicitly typed int i = 10; //explicitly typed 是隐式键入的。这意味着它是强类型的,但由编译器确定类型。如果要在MSDN页面中添加引号,不妨链接到它。我一直在尝试提出一

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


还是取决于?

简单明了:编译时

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


var
变量也称为var类型在
编译时获取

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

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

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

如果要在MSDN页面中添加引号,不妨链接到它。我一直在尝试提出一个直到运行时才知道类型的案例,是否可能?@user,否。如果编译器无法确定类型,编译将失败。您应该在C#4.0中检查新的
dynamic
关键字@Leniel Macaferi,编译器知道该类型,即使是动态类型。编译器只是不知道动态类型的任何特定实例的功能。这已经在其他问题中讨论过了,包括和[动态(C#4)和变量之间的区别是什么?()。它没有出现在建议中。实现一个更好的算法。我不是一个心灵感应者。我也不是一个如此的开发者,而且我也没有投票决定关闭。我添加了链接,以便人们可以到那里获取更多信息。相关请参见