gpt4 book ai didi

c# - 为什么要使用 LINQ 表达式?

转载 作者:行者123 更新时间:2023-11-30 13:48:23 25 4
gpt4 key购买 nike

我使用 Resharper,当我编写如下几行代码时:

foreach (var posCombination in possibleCombinations)
{
if (posCombination .Count == combo.Count && posCombination .Select((l, i) => combo.Contains(l)).All(b => b))
{
return true;
}
}

return false;

它会询问我是否要将其转换为 LINQ 表达式:

return possibleCombinations.Any(possibleCombination => 
possibleCombination.Count == combo.Count
&& possibleCombination.Select((l, i) => combo.Contains(l)).All(b => b));

我有很多人告诉我,他们很难阅读 LINQ 语句中发生的事情......那么,如果它可以减少我的代码,我为什么要将它转换为 LINQ 表达式可读?

最佳答案

这完全取决于您:如果您的代码的读者(包括您自己)喜欢更冗长的风格,请务必保留它:难以阅读的聪明代码在程序员的时间上比在 CPU 上花费的时间要多得多。毕竟,这只是 ReSharper 的提示:关注或忽略它完全取决于您。

阅读 LINQ 代码会随着时间的推移变得更容易(我知道这对我来说确实变得容易得多,但是编写 LINQ 代码和查看其他团队成员编写的 LINQ 代码需要花费大量时间)。我们发现特别有用的一件事是注释:LINQ 表达式可以在短短的一行代码中包含惊人数量的信息,所以一旦我偶然发现我写的一行代码,用简单的英语拼出意图有助于弄清楚意思几个月前。

关于c# - 为什么要使用 LINQ 表达式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12653576/

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