c# - 在 C# Linq 查询中丢弃
问题描述
我想知道根据https://docs.microsoft.com/en-us/dotnet/csharp/discards在 Linq 查询中使用 Discards 的好模式,例如:
public bool HasRedProduct => Products.Any(_=>_.IsRed == true);
什么是优点/缺点而不是使用
public bool HasRedProduct => Products.Any(x=>x.IsRed == true);
解决方案
这不是丢弃 - 它是一个名为 的 lambda 表达式参数_
。它属于文章后面的注释:
请注意,这
_
也是一个有效的标识符。在支持的上下文之外使用时,_
不会将其视为丢弃,而是视为有效变量。
您可以判断它不是丢弃,因为它的值没有被丢弃- 您在 lambda 表达式的其余部分中使用它。当您使用该值时,我强烈反对将其_
用作 lambda 表达式参数名称。但是,当您想丢弃它时,可以将其用作参数名称,即使从语言角度来看它在技术上不是丢弃。选择这个名称来表示丢弃正是因为它已经在实践中使用了。_
_
推荐阅读
- arrays - 数组数组的运行时数组赋值
- python - 什么 python 内置函数可以将一些函数应用于列表的每个元素?
- sql - 如何加入这些表以从客户那里获得独特的产品描述?
- django - 从内联表单集的查询集中排除元素
- python - 如何只打印包含某个字符串的文件中的行?
- python - 当我尝试在 python 中将 pandas 保存为 excel 文件时出错
- python - 如何删除一个numpy数组:追逐内存增长
- php - 在 EasyAdmin 3.x 上使用验证组
- python - 将预先录制的音频播放到由 simcom 创建的语音通话中
- python - Python。如何在网站上进行身份验证?