C# Lambda表达式在属性上的使用

在C#中使用Lambda表达式一般是用于委托Action和Func,一次阅读代码的时候看到属性的定义使用了=>,当时不明白这种用法,今天记录一下。

class Animal
{
    public string Name => string.IsNullOrEmpty(" ") ? "" : "老虎";
    public double Weigth { get; set; } = 120;
}

public string Name => 这种写法的属性是一个只读属性,Visual Studio的智能提示会显示 string Animal.Name {get;}

public double Weigth { get; set; } = 120; 这种写法可以给属性一个初始值,后面当然可以使用方法返回值。

属性使用Lambda表达式就是C#提供的语法糖,编译后与使用get和set方法是一致的,不过使用=>定义只读属性更为简洁。

public string Name => string.IsNullOrEmpty(" ") ? "" : "狮子";
public string Name
{
    get
    {
        return string.IsNullOrEmpty(" ") ? "" : "狮子";
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。