none
强烈建议c#函数返回值支持var类型推断 RRS feed

  • 常规讨论

  • 建议下个版本的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 = "" };
    }





    2016年9月7日 9:23

全部回复