234 votes

Comment supprimer un élément de la liste en C# ?

J'ai une liste stockée dans la liste de résultats comme suit :

 var resultlist = results.ToList();

Cela ressemble à quelque chose comme ça :

 ID FirstName  LastName
-- ---------  --------
1  Bill       Smith
2  John       Wilson
3  Doug       Berg

Comment supprimer l'ID 2 de la liste ?

48voto

KeithS Points 36130
resultList = results.Where(x=>x.Id != 2).ToList();

Il y a un petit assistant Linq que j'aime qui est facile à implémenter et peut rendre les requêtes avec des conditions "où non" un peu plus faciles à lire :

 public static IEnumerable<T> ExceptWhere<T>(this IEnumerable<T> source, Predicate<T> predicate)
{
    return source.Where(x=>!predicate(x));
}

//usage in above situation
resultList = results.ExceptWhere(x=>x.Id == 2).ToList();

6voto

mgnoonan Points 4115

Vous ne spécifiez pas quel type de liste, mais la liste générique peut utiliser soit la RemoveAt(index) , soit la méthode Remove(obj) :

 // Remove(obj)
var item = resultList.Single(x => x.Id == 2);
resultList.Remove(item);

// RemoveAt(index)
resultList.RemoveAt(1);

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X