在方法签名中使用 C# Lambda 运算符
Using the C# Lambda Operator in a method signature
我已在 C# 文档 (https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/operators/lambda-operator#code-try-0) 中阅读了有关如何在 C# 签名或构造函数中使用它的 lambda 运算符。还没有开悟。有人可以解释一下这个方法签名中发生了什么吗:
public SampleCustomer(string name, DateTime dateJoined)
=> (Name, DateJoined) = (name, dateJoined);
这是一种编写方法的方法,在您的情况下,是构造方法。
您的 class 具有(或继承)这两个属性 Name
和 DateJoined
您的构造函数正在接收它们的值(使用元组)以初始化这些属性。
这是做同样的事情,但你的例子更短。
public SampleCustomer(string name, DateTime dateJoined)
{
Name = name;
DateJoined = dateJoined;
}
=>
运算符允许您省略 {}
这是使用=>
语法编写的构造函数示例。 =>
和{ ... }
中的写法一样。这里发生了什么:
public SampleCustomer(string name, DateTime dateJoined) => (Name, DateJoined) = (name, dateJoined);
等于:
public SampleCustomer(string name, DateTime dateJoined)
{
(Name, DateJoined) = (name, dateJoined);
}
删除元组后看起来像:
public SampleCustomer(string name, DateTime dateJoined)
{
Name = name;
DateJoined = dateJoined;
}
所以在这个构造函数中,一些字段是根据传递给它的值分配的。
我已在 C# 文档 (https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/operators/lambda-operator#code-try-0) 中阅读了有关如何在 C# 签名或构造函数中使用它的 lambda 运算符。还没有开悟。有人可以解释一下这个方法签名中发生了什么吗:
public SampleCustomer(string name, DateTime dateJoined)
=> (Name, DateJoined) = (name, dateJoined);
这是一种编写方法的方法,在您的情况下,是构造方法。
您的 class 具有(或继承)这两个属性 Name
和 DateJoined
您的构造函数正在接收它们的值(使用元组)以初始化这些属性。
这是做同样的事情,但你的例子更短。
public SampleCustomer(string name, DateTime dateJoined)
{
Name = name;
DateJoined = dateJoined;
}
=>
运算符允许您省略 {}
这是使用=>
语法编写的构造函数示例。 =>
和{ ... }
中的写法一样。这里发生了什么:
public SampleCustomer(string name, DateTime dateJoined) => (Name, DateJoined) = (name, dateJoined);
等于:
public SampleCustomer(string name, DateTime dateJoined)
{
(Name, DateJoined) = (name, dateJoined);
}
删除元组后看起来像:
public SampleCustomer(string name, DateTime dateJoined)
{
Name = name;
DateJoined = dateJoined;
}
所以在这个构造函数中,一些字段是根据传递给它的值分配的。