这是什么(非lambda?)C#中的“=>”变量定义
本文关键字:定义 变量 中的 是什么 lambda | 更新日期: 2023-09-27 18:35:21
我正在查看 C# 的协议缓冲区,有这样的代码:
public sealed class FileDescriptor : IDescriptor
{
// snip
/// <value>
/// The file name.
/// </value>
public string Name => Proto.Name;
/// <summary>
/// The package as declared in the .proto file. This may or may not
/// be equivalent to the .NET namespace of the generated classes.
/// </summary>
public string Package => Proto.Package;
// etc.
=>
似乎是lambda运算符,但这看起来不太像lambda。这是怎么回事?
这是 C#6 表达式体成员。它们允许您使用 lambda 语法指定属性实现。
这:
public string Name => Proto.Name;
相当于:
public string Name { get { return Proto.Name; } }