我知道我们无法在类级别执行此操作,但在方法级别我们始终可以执行此操作。
var myList=new List<string> // or something else like this
我想到了这个问题,因为无论我们在哪里声明这样的变量。我们总是在表达式的 RHS 处提供类型信息。所以编译器不需要进行类型猜测。 (如果我错了请纠正我)。
所以问题仍然是为什么不在类级别,而在方法级别允许
最佳答案
实现此功能存在技术问题。常见情况看起来很简单,但更棘手的情况(例如,引用链或循环中的其他字段的字段、包含匿名类型的表达式)却并非如此。
有关深入解释,请参阅 Eric Lippert 的博客:Why no var on fields?
关于c# - 为什么我们不能在类级别声明 var a = new List<string> ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/159359/