Lambda表达式的主要用途是啥?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Lambda表达式的主要用途是啥?相关的知识,希望对你有一定的参考价值。
参考技术A 可以取代大部分的匿名内部类,写出更优雅的 Java 代码,尤其在集合的遍历和其他集合操作中,可以极大地优化代码结构。不与 lambda 表达式一起使用时 => 运算符是啥? [复制]
【中文标题】不与 lambda 表达式一起使用时 => 运算符是啥? [复制]【英文标题】:What is the => operator when not used with a lambda expression? [duplicate]不与 lambda 表达式一起使用时 => 运算符是什么? [复制] 【发布时间】:2016-08-10 20:17:30 【问题描述】:前几天我在看某人的图书馆,他们有这个:
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";
以前从未见过。
【问题讨论】:
一条评论...你是对的,库的编码方式,赋值运算符会更合适。但是,如果需要动态计算属性,则不能只使用赋值运算符,例如公共静态字符串 CurrentDateTimeAsString => DateTime.Now.ToString() 谢谢。试图找到它,但不知道该怎么称呼它,所以什么也没找到。 【参考方案1】:这是 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);
【讨论】:
以上是关于Lambda表达式的主要用途是啥?的主要内容,如果未能解决你的问题,请参考以下文章