- Kiemelkedően csendes ASUS VGA jött a Noctua közreműködésével
- Mini kijelzős SSD-hűtő a Thermalright névjegyével
- Windows: mi történik valójában Leállításkor, Alvó módban és Újraindításkor?
- Gyenge Wi-Fi otthon? – a leggyakoribb hibák és megoldások
- Korábbi vezetője szerint 40 milliárd dollár kell az Intel versenyképességéhez
Hirdetés
Ú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!
- WoW avagy World of Warcraft -=MMORPG=-
- Samsung Galaxy A56 - megbízható középszerűség
- Milyen belső merevlemezt vegyek?
- Otthoni hálózat és internet megosztás
- Samsung Galaxy Watch7 - kötelező kör
- BestBuy topik
- macOS PC-re
- Yettel topik
- Újabb videón a Mafia: The Old Country
- Asztalos klub
- További aktív témák...
- Olcsó Notebook! Dell Latitude E7280! I5 7300U / 8GB DDR4 / 256GB SSD!
- AZONNALI SZÁLLÍTÁS Eredeti Microsoft Office 2019 Professional Plus
- Gamer PC- Számítógép! Csere-Beszámítás! I5 12400F / RTX 3070 8GB / 32GB DDR4 / 500GB SSD+ 2TB HDD
- Meta Quest 3 akkumulátoros fejpánt
- ASUS X540SA-XX004D Notebook - 4 napot használt
Állásajánlatok
Cég: FOTC
Város: Budapest