强烈建议c#函数返回值支持var类型推断
建议下个版本的C#出一个语法糖,函数返回类型也可以用var,编辑器根据return的对象推断出var的类型。
匿名类只能在函数内部使用,做为返回值时必须定义成class,比如linq查询select new 出来的匿名类不能直接返回,很不方便。
比如下面这段代码,Foo()函数返回一种数据结构就必须先定义一个类:
public class Struct
{
public string Name { get; set; }
}
void Main()
{
var name = Foo().Name;
}
public Struct Foo()
{
return new Struct { Name = "" };
}
如果支持var就简洁多了:
void Main()
{
var name = Foo().Name;
}
public var Foo()
{
return new { Name = "" };
}