冗余的 Select¶
ID: cs/linq/useless-select
Kind: problem
Security severity:
Severity: warning
Precision: very-high
Tags:
- maintainability
- language-features
- external/cwe/cwe-561
Query suites:
- csharp-security-and-quality.qls
将标识函数传递给 LINQ 的 Select
方法(显式或隐式)会生成一个与调用 Select
的序列相同的序列 - 此类调用是冗余的。
建议¶
删除冗余的 select 方法调用。
示例¶
在此示例中,对 Select
方法的调用无效,可以删除。
class RedundantSelect
{
static void Main(string[] args)
{
List<int> lst = Enumerable.Range(1, 10).ToList();
foreach (int i in lst.Select(e => e).Where(e => e % 2 == 0))
{
Console.WriteLine(i);
}
}
}