Remove objects by particular property in C#

To remove a specific item from a List<T> in C#, you can use the Remove method. Here's an example:

List<int> numbers = new List<int>() { 1, 2, 3, 4, 5 };
numbers.Remove(3); // removes the number 3 from the list

In this example, we create a new list of integers with the values 1 through 5. We then use the Remove method to remove the number 3 from the list.

To remove items from a List<T> while enumerating, you can use a for loop to iterate over the list and remove the items one at a time. Here's an example:

List<int> numbers = new List<int>() { 1, 2, 3, 4, 5 };
for (int i = numbers.Count - 1; i >= 0; i--)
{
    if (numbers[i] % 2 == 0) // remove even numbers
    {
        numbers.RemoveAt(i);
    }
}

In this example, we create a new list of integers with the values 1 through 5. We then use a for loop to iterate over the list in reverse order, so that removing items doesn't affect the loop. Inside the loop, we use an if statement to check if the current number is even, and if it is, we remove it from the list using the RemoveAt method. Note that we use the index variable i to remove the item from the list, rather than the item itself.

  1. C# remove objects from list by property value

    Removing objects from a list based on a specific property value:

    public class MyClass
    {
        public int Id { get; set; }
        public string Name { get; set; }
    }
    
    // Usage
    List<MyClass> myList = new List<MyClass>
    {
        new MyClass { Id = 1, Name = "Item1" },
        new MyClass { Id = 2, Name = "Item2" },
        new MyClass { Id = 3, Name = "Item3" }
    };
    
    myList.RemoveAll(item => item.Id == 2); // Remove item with Id = 2
    
  2. Remove items from collection based on property value in C#

    Removing items from a collection based on a property value:

    public class MyClass
    {
        public int Id { get; set; }
        public string Name { get; set; }
    }
    
    // Usage
    List<MyClass> myList = new List<MyClass>
    {
        new MyClass { Id = 1, Name = "Item1" },
        new MyClass { Id = 2, Name = "Item2" },
        new MyClass { Id = 3, Name = "Item3" }
    };
    
    myList.RemoveAll(item => item.Name == "Item2"); // Remove item with Name = "Item2"
    
  3. Filter and remove objects in C# by property

    Filtering and removing objects in C# based on a property condition:

    public class MyClass
    {
        public int Id { get; set; }
        public string Name { get; set; }
    }
    
    // Usage
    List<MyClass> myList = new List<MyClass>
    {
        new MyClass { Id = 1, Name = "Item1" },
        new MyClass { Id = 2, Name = "Item2" },
        new MyClass { Id = 3, Name = "Item3" }
    };
    
    myList = myList.Where(item => item.Id != 2).ToList(); // Filter out item with Id = 2
    
  4. C# LINQ remove objects with specific property value

    Using LINQ to remove objects with a specific property value:

    public class MyClass
    {
        public int Id { get; set; }
        public string Name { get; set; }
    }
    
    // Usage
    List<MyClass> myList = new List<MyClass>
    {
        new MyClass { Id = 1, Name = "Item1" },
        new MyClass { Id = 2, Name = "Item2" },
        new MyClass { Id = 3, Name = "Item3" }
    };
    
    myList = myList.Where(item => item.Id != 2).ToList(); // Remove item with Id = 2
    
  5. Remove elements from a list based on property in C#

    Removing elements from a list based on a property condition:

    public class MyClass
    {
        public int Id { get; set; }
        public string Name { get; set; }
    }
    
    // Usage
    List<MyClass> myList = new List<MyClass>
    {
        new MyClass { Id = 1, Name = "Item1" },
        new MyClass { Id = 2, Name = "Item2" },
        new MyClass { Id = 3, Name = "Item3" }
    };
    
    myList = myList.Where(item => item.Name != "Item2").ToList(); // Remove item with Name = "Item2"
    
  6. C# remove objects from array by property condition

    Removing objects from an array based on a property condition:

    public class MyClass
    {
        public int Id { get; set; }
        public string Name { get; set; }
    }
    
    // Usage
    MyClass[] myArray = new MyClass[]
    {
        new MyClass { Id = 1, Name = "Item1" },
        new MyClass { Id = 2, Name = "Item2" },
        new MyClass { Id = 3, Name = "Item3" }
    };
    
    myArray = myArray.Where(item => item.Id != 2).ToArray(); // Remove item with Id = 2
    
  7. Remove items from dictionary by property value in C#

    Removing items from a dictionary based on a property value:

    public class MyClass
    {
        public int Id { get; set; }
        public string Name { get; set; }
    }
    
    // Usage
    Dictionary<int, MyClass> myDictionary = new Dictionary<int, MyClass>
    {
        { 1, new MyClass { Id = 1, Name = "Item1" } },
        { 2, new MyClass { Id = 2, Name = "Item2" } },
        { 3, new MyClass { Id = 3, Name = "Item3" } }
    };
    
    myDictionary = myDictionary.Where(kv => kv.Value.Id != 2).ToDictionary(kv => kv.Key, kv => kv.Value);
    
  8. C# remove objects from list by predicate

    Removing objects from a list based on a predicate:

    public class MyClass
    {
        public int Id { get; set; }
        public string Name { get; set; }
    }
    
    // Usage
    List<MyClass> myList = new List<MyClass>
    {
        new MyClass { Id = 1, Name = "Item1" },
        new MyClass { Id = 2, Name = "Item2" },
        new MyClass { Id = 3, Name = "Item3" }
    };
    
    myList.RemoveAll(item => item.Id == 2); // Remove item with Id = 2
    
  9. Filter and exclude objects in C# based on property

    Filtering and excluding objects in C# based on a property condition:

    public class MyClass
    {
        public int Id { get; set; }
        public string Name { get; set; }
    }
    
    // Usage
    List<MyClass> myList = new List<MyClass>
    {
        new MyClass { Id = 1, Name = "Item1" },
        new MyClass { Id = 2, Name = "Item2" },
        new MyClass { Id = 3, Name = "Item3" }
    };
    
    myList = myList.Where(item => item.Id != 2).ToList(); // Exclude item with Id = 2
    
  10. C# remove objects from list with LINQ

    Removing objects from a list using LINQ:

    public class MyClass
    {
        public int Id { get; set; }
        public string Name { get; set; }
    }
    
    // Usage
    List<MyClass> myList = new List<MyClass>
    {
        new MyClass { Id = 1, Name = "Item1" },
        new MyClass { Id = 2, Name = "Item2" },
        new MyClass { Id = 3, Name = "Item3" }
    };
    
    myList = myList.Where(item => item.Id != 2).ToList(); // Remove item with Id = 2
    
  11. Remove items from ObservableCollection by property in C#

    Removing items from an ObservableCollection based on a property value:

    public class MyClass
    {
        public int Id { get; set; }
        public string Name { get; set; }
    }
    
    // Usage
    ObservableCollection<MyClass> myCollection = new ObservableCollection<MyClass>
    {
        new MyClass { Id = 1, Name = "Item1" },
        new MyClass { Id = 2, Name = "Item2" },
        new MyClass { Id = 3, Name = "Item3" }
    };
    
    var itemsToRemove = myCollection.Where(item => item.Id == 2).ToList();
    foreach (var item in itemsToRemove)
    {
        myCollection.Remove(item);
    }
    
  12. C# remove objects from collection using lambda expression

    Removing objects from a collection using a lambda expression:

    public class MyClass
    {
        public int Id { get; set; }
        public string Name { get; set; }
    }
    
    // Usage
    List<MyClass> myList = new List<MyClass>
    {
        new MyClass { Id = 1, Name = "Item1" },
        new MyClass { Id = 2, Name = "Item2" },
        new MyClass { Id = 3, Name = "Item3" }
    };
    
    myList.RemoveAll(item => item.Id == 2); // Remove item with Id = 2
    
  13. Remove objects from HashSet by property value in C#

    Removing objects from a HashSet based on a property value:

    public class MyClass
    {
        public int Id { get; set; }
        public string Name { get; set; }
    }
    
    // Usage
    HashSet<MyClass> myHashSet = new HashSet<MyClass>
    {
        new MyClass { Id = 1, Name = "Item1" },
        new MyClass { Id = 2, Name = "Item2" },
        new MyClass { Id = 3, Name = "Item3" }
    };
    
    myHashSet.RemoveWhere(item => item.Id == 2); // Remove item with Id = 2
    
  14. C# remove items from List<T> by property equality

    Removing items from a List<T> based on property equality:

    public class MyClass
    {
        public int Id { get; set; }
        public string Name { get; set; }
    }
    
    // Usage
    List<MyClass> myList = new List<MyClass>
    {
        new MyClass { Id = 1, Name = "Item1" },
        new MyClass { Id = 2, Name = "Item2" },
        new MyClass { Id = 3, Name = "Item3" }
    };
    
    myList.RemoveAll(item => item.Id == 2); // Remove item with Id = 2
    
  15. Remove objects from DataTable based on column value in C#

    Removing objects from a DataTable based on a column value:

    // Assuming you have a DataTable named "myDataTable" with a column "Id"
    
    // Usage
    DataRow[] rowsToRemove = myDataTable.Select("Id = 2");
    foreach (DataRow row in rowsToRemove)
    {
        myDataTable.Rows.Remove(row);
    }
    
  16. C# remove items from ObservableCollection by property value

    Removing items from an ObservableCollection based on a property value:

    public class MyClass
    {
        public int Id { get; set; }
        public string Name { get; set; }
    }
    
    // Usage
    ObservableCollection<MyClass> myCollection = new ObservableCollection<MyClass>
    {
        new MyClass { Id = 1, Name = "Item1" },
        new MyClass { Id = 2, Name = "Item2" },
        new MyClass { Id = 3, Name = "Item3" }
    };
    
    var itemsToRemove = myCollection.Where(item => item.Id == 2).ToList();
    foreach (var item in itemsToRemove)
    {
        myCollection.Remove(item);
    }
    
  17. Remove objects from ConcurrentDictionary by property in C#

    Removing objects from a ConcurrentDictionary based on a property value:

    public class MyClass
    {
        public int Id { get; set; }
        public string Name { get; set; }
    }
    
    // Usage
    ConcurrentDictionary<int, MyClass> myDictionary = new ConcurrentDictionary<int, MyClass>
    {
        [1] = new MyClass { Id = 1, Name = "Item1" },
        [2] = new MyClass { Id = 2, Name = "Item2" },
        [3] = new MyClass { Id = 3, Name = "Item3" }
    };
    
    myDictionary = new ConcurrentDictionary<int, MyClass>(
        myDictionary.Where(kv => kv.Value.Id != 2).ToDictionary(kv => kv.Key, kv => kv.Value)
    );