2010-06-27 4 views
2

J'ai une liste de struct:Comment supprimer des éléments d'une liste en C#?

list<structure>; 

Mais je veux supprimer la substance spécifique par ID.

Exemple: élément avec ID 55.

Alors, comment je peux reomve une substance de la liste?

J'ai une carte d'identité dans le struct public string stuffID;

Comment puis-je faire cela?

Répondre

8

Pour enlever tout avec un ID de 55:

List<Structure> list; 
list.RemoveAll(structure => structure.ID == 55); 
+0

Est-ce qu'il y a peut-être quelque chose comme RemoveOne pour que la liste entière ne doive pas être traversée? – simendsjo

0

list = list.Where(item => item.id != 55).ToList();

+0

Cela ne fonctionnera pas comme vous ne pouvez pas affecter '' IEnumerable à '' Liste . – Femaref

+0

alors ne déclarez pas la liste comme une liste tster

+0

Vous auriez besoin d'ajouter .ToList(), mais c'est toujours inefficace car il reconstruit une toute nouvelle liste. .Remove() est le meilleur choix. –

Questions connexes