什么是=>运算符何时不与lambda表达式一起使用?

时间:2016-04-18 22:02:31

标签: c# lambda assignment-operator

前几天我正在看某人的图书馆,他们有这个:

internal static string BaseUrl => "https://api.stripe.com/v1";
public static string Invoices => BaseUrl + "/invoices";

=> 是否只是作为分配 = 运算符?不会是这样的:

internal static string BaseUrl = "https://api.stripe.com/v1";
public static string Invoices = BaseUrl + "/invoices";

以前从未见过这个。

1 个答案:

答案 0 :(得分:7)

这是 C#6.0 中一​​个名为 Expression-Bodied 的新功能,是一种语法糖,允许定义getter-only属性和索引器,其中getter的主体是由表达主体给出。

public static string Invoices => BaseUrl + "/invoices";

与:

相同
public static string Invoices
{
    get 
    {
        return BaseUrl + "/invoices";
    }
}

您可以阅读更多here

您也可以使用以下语法定义方法:

public void PrintLine(string line) => Console.WriteLine(line);