一尘不染

隐式打字;为什么只是局部变量?

c#

有谁知道或关心推测为什么隐式类型仅限于局部变量?

var thingy = new Foo();

但是为什么不…

var getFoo() {
    return new Foo(); 
}

阅读 241

收藏
2020-05-19

共1个答案

一尘不染

埃里克·利珀特(Eric Lippert)撰写了有关该主题的完整博客文章。

总而言之,主要的问题是,这将需要对C#编译器进行重大的重新架构。声明当前以单遍方式处理。由于能够在推断变量之间形成循环,因此需要多次通过。VB.NET具有大致相同的问题。

2020-05-19