- Samsung Galaxy S22 Ultra - na, kinél van toll?
- Milyen okostelefont vegyek?
- Samsung Galaxy S23 és S23+ - ami belül van, az számít igazán
- iPhone topik
- Honor Magic8 Pro - bevált recept kölcsönvett hozzávalókkal
- Íme az új Android Auto!
- Brutális összegeket fektet a Samsung az AI fejlesztésekbe
- Jolla és SailfishOS tapasztalatcsere
- Új háttérbiztonsági frissítési rendszert kaptak az Apple cuccok
- Motorola Moto G06 Power – nagyfater új zakót vett
Új hozzászólás Aktív témák
-
ArchElf
addikt
Nem egyszerűen kitörlöm az első listából, hanem, mivel a lista elemei nem törölhetők közvetlenül a foreach ciklusban, így az elemeket egyesével végignézem, hogy törlendők-e, ha igen hozzáadom egy másik listához (törlendő elemek listája). Ekkor az első listából nem tudok még törölni (mert invalid lesz az iterátor).
A második ciklusban a törlendő elemek listáján lépkedek végig. Ekkor minden elemre kiadom az elsőlista.Remove(ojjektum) parancsot (ahol az ojjektum a törlendő elemek listájának aktuális eleme). Mivel most a második lista iterátorát használom, így nyugodtan eleht az első listából törölni. A második lista végigjátszása után nyugodtan lehet magát a második listát is törölni (mivel már nincs rá szükség).
Még egy apróság: amennyiben több szálon párhuzamosan is elérjük a listát a futás alatt (szükséges lehet bizonyos esetekben), úgy azt az egész cécó alatt lockolni kell.Remélem érthető volt.
Még egy. Ha a listaelemeket nem lehet rendesen egymáshoz hasonlítani akkor lehet index alapján is törölni, ez viszont macerásabb.
Ebben az esetben egy fordított for ciklussal célszerű megcsinálni, mert így az indexek nem keverednek össze:
for(ix = lista.Length-1; ix >= 0; ix--)
{
if(törlendő(lista[ix]))
lista.RemoveAt(ix);
}De láttam ilyet is a neten:
foreach(object o in new List<object>(lista))
{
if (törlendő(o))
lista.Remove(o);
}AE
Új hozzászólás Aktív témák
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Motorola edge 70 Gadget Grey 512GB 6 hónap garancia
- Lenovo T14 Gen3 Ryzen5 6650U 2026.11.21 ig érvényes gyártói garancia
- BESZÁMÍTÁS! Intel Core i5 8500 6 mag 6 szál processzor garanciával hibátlan működéssel
- Sosemhasznált! HP OmniBook 5 Flip i5-1334U 16GB 512GB 14" áthajtós-érintős FHD+ Gar.: 1 év
- Lenovo ThinkPad X1 Active Noise Cancellation fejhallgató
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest


