属性实现是单个表达式时,可为 getter 或 setter 使用 expression-bodied 成员:
public class Person
{
public string? FirstName
{
get => _firstName;
set => _firstName = value;
}
private string? _firstName;
// Omitted for brevity.
}
expression-bodied 成员使用 lambda 表达式语法来定义包含单个表达式的方法。 在这里,该表达式返回 person 对象的全名。
public class Person
{
public string? FirstName { get; set; }
public string? LastName { get; set; }
public string FullName { get { return $"{FirstName} {LastName}"; } }
//public string FullName => $"{FirstName} {LastName}";
}
函数体只有单行语句时可以用 => 简写。
public void Hello() { Console.WriteLine("Hello"); }
public void Hello() => Console.WriteLine("Hello");
由于 lambda 表达式只是指定委托的另一种方式,因此应可重新编写上述示例,令其使用 lambda 表达式而不是匿名委托。
List<int> result = list.FindAll(
delegate (int no)
{
return (no % 2 == 0);
}
);
List<int> result = list.FindAll(i => i % 2 == 0);
0o0oo