什么是C#=>;接线员怎么办?(除了作为lambda运营商)

什么是C#=>;接线员怎么办?(除了作为lambda运营商),c#,lambda,operators,C#,Lambda,Operators,我知道C#运算符=>是一个。但今天我遇到了这样使用的操作员: static readonly ResourceDictionary ResourceDictionary = new ResourceDictionary(); public static ResourceDictionary MyAppResources => ResourceDictionary; 在这里,它似乎不起lambda操作符的作用。有人能告诉我这个操作符在这样使用时做了什么吗?=>在这个上下文中并不是真正的操作

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

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

在这里,它似乎不起lambda操作符的作用。有人能告诉我这个操作符在这样使用时做了什么吗?

=>
在这个上下文中并不是真正的操作符,因为它没有在表达式中使用。这是新的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);
}

=>
在这个上下文中并不是真正的运算符,因为它没有在表达式中使用。这是新的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);
}

@D-Stanley-你能告诉我这是哪一个问题的副本吗?看问题上方插入的链接。@D-Stanley-你能告诉我这是哪一个问题的副本吗?看问题上方插入的链接。有趣!表达式体方法不是lambda表达式吗?@jbyrd我认为这一切都是语法上的糖分:编译表达式体方法和属性的结果总是一个命名方法或命名属性的getter,而不是lambda。有趣!表达式体方法不是lambda表达式吗?@jbyrd我认为这一切都是语法上的糖分:编译表达式体方法和属性的结果总是一个命名方法或命名属性的getter,而不是lambda。