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