How to remove item from list in C#?

.net, .net-core, c#, generic-collections, list

Solution

`List<T>` has three methods you can use.

RemoveAt(int index) can be used if you know the index of the item. For example:

resultlist.RemoveAt(1);

Or you can use Remove(T item):

var itemToRemove = resultlist.Single(r => r.Id == 2);
resultList.Remove(itemToRemove);

When you are not sure the item really exists you can use SingleOrDefault. `SingleOrDefault` will return `null` if there is no item (`Single` will throw an exception when it can't find the item). Both will throw when there is a duplicate value (two items with the same `id`).

var itemToRemove = resultlist.SingleOrDefault(r => r.Id == 2);
if (itemToRemove != null)
    resultList.Remove(itemToRemove);

Problem

I have a list stored in resultlist as follows: ``` var resultlist = results.ToList(); ``` It looks something like this: ``` ID FirstName LastName -- --------- -------- 1 Bill Smith 2 John Wilson 3 Doug Berg ``` How do I remove ID 2 from the list?

Original source