gpt4 book ai didi

c# - 在 C# Linq 查询中丢弃

转载 作者:太空狗 更新时间:2023-10-29 22:21:15 25 4
gpt4 key购买 nike

我想知道根据 https://learn.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 表达式参数。落在文章后面的注释中:

Note that _ is also a valid identifier. When used outside of a supported context, _ is treated not as a discard but as a valid variable.

您可以看出它不是丢弃项,因为它的值没有被丢弃 - 您在其余的 lambda 表达式中使用它。当您 使用该值时,我强烈不鼓励将 _ 用作 lambda 表达式参数名称。不过,当您想要丢弃它时,使用_ 作为参数名是可以的,即使从语言的角度来看它在技术上不是丢弃。名称 _ 被选择用于丢弃正是因为它已经在实践中使用了。

关于c# - 在 C# Linq 查询中丢弃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55843490/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com