我正在阅读有关隐式类型局部变量(var)的内容
http://msdn.microsoft.com/en-us/library/bb384061.aspx
它规定了一个限制:
如果名为 var 的类型在作用域内,则 var 关键字将解析为该类型名称,并且不会被视为隐式类型局部变量声明的一部分。
任何人都可以用 C# 示例解释语句的含义吗?
我正在阅读有关隐式类型局部变量(var)的内容
http://msdn.microsoft.com/en-us/library/bb384061.aspx
它规定了一个限制:
如果名为 var 的类型在作用域内,则 var 关键字将解析为该类型名称,并且不会被视为隐式类型局部变量声明的一部分。
任何人都可以用 C# 示例解释语句的含义吗?
如果你这样做:
class var
{
public static implicit operator var(int value)
{
return new var();
}
}
var myVar = 5;
myVar
遗嘱是 type而var
不是 type int
。
(operator
我添加的是从int
to的隐式转换var
)。
插入这条规则是因为var
它不是 C# 中的保留关键字(现在仍然不是......如果你看这里你会看到它是一个“上下文关键字”),所以一个名为的类/结构/枚举var
在 C# 中是有效的2.0 .
如果一个名为 var 的类型在范围内:如果有一个名为 var 的类/结构/枚举在范围内(只需编写 var 就可以“访问”,而不必使用命名空间)
然后 var 关键字将解析为该类型名称:然后var
表示“您的用户定义类型”而不是“关键字 var”