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(" ") ? "" : "狮子";
    }
}

你可能感兴趣的:(C# Lambda表达式在属性上的使用)