在C#7中,如何使用2个参数编写这样的Expression Bodied Constructor。
public Person(string name, int age)
{
Name = name;
Age = age;
}
答案 0 :(得分:53)
这样做的一种方法是使用元组和解构来在一个表达式中允许多个赋值:
public class Person
{
public string Name { get; }
public int Age { get; }
public Person(string name, int age) => (Name, Age) = (name, age);
}
从C#7.1(随Visual Studio 2017 Update 3引入)开始,编译器代码现在将优化实际构造和解构元组。因此,与#34; longhand"相比,这种方法没有性能开销。分配