Use Contains for simple equality

This page is not yet available in Spanish. We are working on its translation.
If you have any questions or feedback about our current translation project, feel free to reach out to us!

Metadata

ID: csharp-best-practices/contains-not-any

Language: C#

Severity: Warning

Category: Best Practices

Description

When using only a simple comparison, use Contains instead of Any as it is more efficient in terms of resources allocation.

Non-Compliant Code Examples

using System.Xml;

class MyClass {
    public static bool filter(IEnumerable<int> values, int target)
    {
        return values.Any(x => x > target);
        return values.Any(x => x == target);
    }
}

Compliant Code Examples

using System.Xml;

class MyClass {
    public static bool filter(IEnumerable<int> values, int target)
    {
        if (values.Any(c => c == Enum.Member)) {
            return values.Contains(target);
        }
    }
}
https://static.datadoghq.com/static/images/logos/github_avatar.svg https://static.datadoghq.com/static/images/logos/vscode_avatar.svg jetbrains

Seamless integrations. Try Datadog Code Analysis