我正在用C#学习泛型。我认为我的问题(..我要问的)可能很愚蠢,但有人说“对所有问题都有疑问”。
所以我不久前就在想...
为什么我们不能在函数参数列表中使用'var'关键字?
例如:
动态关键字正在起作用...
答案 0 :(得分:4)
C#中的var与其他语言中的var有很大不同。
重要的是要理解var关键字并不意味着“ variant”,也不表示变量是松散类型的或后期绑定的。这只是意味着编译器确定并分配最合适的类型。
您不能将var变量分配为null,因为在这种情况下,编译器将无法理解类型。
同样,如果您将无法从方法返回VAR或无法将方法参数声明为Var,因为C#编译器将无法在编译时定义这些类型。
答案 1 :(得分:2)
var
与泛型无关。它有两个用途:
首先是声明anonymous type的实例。由于它是匿名的,因此var
是声明变量的唯一方法。
第二个是快捷方式。这样可以节省您编写需要声明的类型名称的工作量。但是,编译器必须能够根据您分配给变量的值来确定类型。
在official documentation中查看更多信息。