什么是C#=>操作员呢? (BESIDES是一名lambda运营商)

时间:2016-03-22 14:40:55

标签: c# lambda operators

我知道C#operator =>是lambda operator。但今天我遇到了以这种方式使用的运营商:

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

这里似乎没有作为lambda运算符运行。任何人都可以告诉我这个操作员在使用时做了什么吗?

1 个答案:

答案 0 :(得分:5)

=>在这种情况下并不是一个真正的运算符,因为它没有在表达式中使用。这是用于定义表达式 - 身体属性的新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);
}