0
0
CsharpHow-ToBeginner · 3 min read

How to Check if a List Contains an Element in C#

In C#, you can check if a list contains an element using the Contains method. This method returns true if the element exists in the list, otherwise false. For example, myList.Contains(element) checks if element is in myList.
📐

Syntax

The Contains method is called on a list to check if it has a specific element. It returns a boolean value: true if the element is found, false if not.

  • list.Contains(item): Checks if item is in list.
  • list: The list you want to search.
  • item: The element you want to find.
csharp
bool containsElement = list.Contains(item);
💻

Example

This example shows how to create a list of strings and check if it contains a specific string. It prints the result to the console.

csharp
using System;
using System.Collections.Generic;

class Program
{
    static void Main()
    {
        List<string> fruits = new List<string> { "apple", "banana", "cherry" };
        string searchFruit = "banana";

        bool hasFruit = fruits.Contains(searchFruit);

        Console.WriteLine($"Does the list contain '{searchFruit}'? {hasFruit}");
    }
}
Output
Does the list contain 'banana'? True
⚠️

Common Pitfalls

Some common mistakes when using Contains include:

  • Not considering case sensitivity: Contains is case-sensitive for strings.
  • Using Contains on a list of objects without overriding Equals and GetHashCode.
  • Confusing Contains with methods that check conditions, like Any.
csharp
using System;
using System.Collections.Generic;

class Person
{
    public string Name { get; set; }

    // Without overriding Equals and GetHashCode, Contains may not work as expected
}

class Program
{
    static void Main()
    {
        List<Person> people = new List<Person>
        {
            new Person { Name = "Alice" },
            new Person { Name = "Bob" }
        };

        Person searchPerson = new Person { Name = "Alice" };

        // This will print False because Contains uses reference equality by default
        Console.WriteLine(people.Contains(searchPerson));
    }
}
Output
False
📊

Quick Reference

Remember these tips when using Contains:

  • It returns true if the element is found, false otherwise.
  • It is case-sensitive for strings.
  • For custom objects, override Equals and GetHashCode for correct behavior.
  • Use Any with a condition for more complex checks.

Key Takeaways

Use the list's Contains method to check if an element exists, which returns true or false.
Contains is case-sensitive when used with strings.
For custom objects, override Equals and GetHashCode to ensure Contains works correctly.
Use Any with a condition for more complex element checks.
Contains is simple and efficient for direct element presence checks.