webForumDet fria alternativet

Ta bort objekt ur lista

.NET

2 svar · 377 visningar · startad av doggelito

Medlem sedan juni 20003 076 inlägg
Frågan#1

Tjena,
Om man vill ta bort ett/flera objekt ur en lista, hur bör man gå tillväga då egentligen på fiffigaste sättet?

List<OnlineUser> users = GetOnlineUsers();
foreach (OnlineUser user in users)
{
     if (blabla)
          users.Remove(user);
}

För man får ju inte ta bort objekt i en foreach-loop för då får man:
Collection was modified; enumeration operation may not execute.

Medlem sedan juni 20003 076 inlägg
#2

Hmm, man kan ju förståss använda en for-loop istället för en foreach

Medlem sedan mars 20007 896 inlägg
#3
List<OnlineUser> users = GetOnlineUsers();
users.RemoveAll(x => x.Egenskap == Villkor);

(I och med att du har en List<T>)

252 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
119 ms — deklarationer (db)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)
118 ms — ändringar (db)