c# – 难以理解特定的lambda表达式
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了c# – 难以理解特定的lambda表达式,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含877字,纯文字阅读大概需要2分钟。
内容图文
![c# – 难以理解特定的lambda表达式](/upload/InfoBanner/zyjiaocheng/762/5f76e489ebcb4055b0887dc5b5a7e63a.jpg)
对于一个熟悉lambda的人来说,这是一个非常简单的问题.我刚刚学习它,并遇到了一个对我没有意义的表达.
根据我的理解,lambda表达式传入左侧指定的变量并运行右侧的代码.例如
myFunction = x => x + x;
所以myFunction(2)会返回4.
无论如何,我在这里看了一个linq查询,看到了这个:
IEnumerable<int> numQuery2 = numbers.Where(num => num % 2 == 0).OrderBy(n => n);
n =>那……那是做什么的?为什么不说OrderBy(n)?你正在做的就是将n传递给一个只返回n的函数. > _>这里发生了什么事?
解决方法:
让我们打破这个:
numbers
这是一个整数集合.
.Where(num => num % 2 == 0)
这就是说“在我的收藏中找到我的数字模数2 = 0”的所有项目.
.OrderBy(n => n);
然后这是对列表进行排序.因为列表是整数,并且指定的项是整数,所以它将按数字排序,从最低到最高.
你需要n =>的原因n是因为你可以通过除值之外的其他东西进行排序.例如,将项目的长度称为字符串
.OrderBy(n => n.ToString().Length)
显然,对于整数,这没有任何意义.但是对于其他数据类型,比如类,这非常有用.
内容总结
以上是互联网集市为您收集整理的c# – 难以理解特定的lambda表达式全部内容,希望文章能够帮你解决c# – 难以理解特定的lambda表达式所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。