Redundant Select¶
ID: cs/linq/useless-select Kind: problem Security severity: Severity: warning Precision: very-high Tags: - quality - maintainability - useless-code - language-features - external/cwe/cwe-561 Query suites: - csharp-code-quality.qls - csharp-security-and-quality.qls Click to see the query in the CodeQL repository
Passing an identity function to LINQ’s Select method (either explicitly or implicitly) yields a sequence that is the same as the one on which Select was called - such a call is redundant.
Recommendation¶
Remove the redundant select method call.
Example¶
In this example the call to the Select method has no effect and can be removed.
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); } } }