【问题标题】:What does the C# => operator do? (BESIDES being a lambda operator) [duplicate]C# => 运算符有什么作用? (除了是一个 lambda 运算符)[重复]
【发布时间】:2016-07-09 12:29:22
【问题描述】:

我知道 C# 运算符 => 是 lambda operator。但是今天我遇到了这样使用的操作符:

static readonly ResourceDictionary ResourceDictionary = new ResourceDictionary();
public static ResourceDictionary MyAppResources => ResourceDictionary;

在这里,它似乎没有用作 lambda 运算符。谁能告诉我这个运算符在这样使用时会做什么?

【问题讨论】:

  • @D-Stanley - 你能指出这是哪个问题的重复吗?
  • 查看问题上方插入的链接。

标签: c# lambda operators


【解决方案1】:

=> 在这种情况下并不是真正的运算符,因为它没有在表达式中使用。这是用于定义 表达式主体属性 的新 C# 6 语法,相当于

public static ResourceDictionary MyAppResources {
    get {
        return ResourceDictionary;
    }
}

在旧语法中。您也可以编写表达式主体的方法,例如

public string ToString() => $"User [{FirstName} {LastName}]";

而不是

public string ToString() {
    return string.Format("User [{0} {1}]", FirstName, LastName);
}

【讨论】:

  • 有趣!表达式体方法不是 lambda 表达式吗?
  • @jbyrd 我认为这一切都是语法糖:编译表达式体方法和属性的结果始终是命名方法或命名属性的 getter,而不是 lambda。
猜你喜欢
  • 2011-08-25
  • 2021-04-14
  • 1970-01-01
  • 2021-03-28
  • 2015-01-22
  • 2013-12-02
  • 2013-06-27
  • 2023-02-08
  • 1970-01-01
相关资源
最近更新 更多