我使用 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 表达式呢?