Diskuze: Jak odebrat specifický objekt z ArrayListu (případně z Listu)
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.

Tvůrce

Zobrazeno 10 zpráv z 10.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Používej nějaký kontejner a né arraylist ... Můžeš vyfotit jak má vypadat to GUI ?
ArrayList jsem zvolil proto, že než to nacpu do ListBoxu, tak mám kontrolu nad tím, co tam je a co má jaký index. Protože každý objekt v tom ListBoxu má svoje specifické vlastnosti (text, tooltip, atd, atd).
S kontejnerem ve WPF jsem se zatím nesetkal. =)
V příloze je příklad, jak to má fungovat. Už jsem funkční verzi měl. A to tak, že se mi vkládaly objekty za sebe do ListBoxu, ale jak říkám - potřebuju pracovat s každým objektem zvlášť.
PS: Potřebuju, aby se mi dynamicky vkládaly objekty. Aby se podle počtu přizpůsobil ten "kontejner", takže proto to mám v ListBoxu, který si podle potřeby vyhodí slider.
No ve WPF nedělám, takže ti bude muset poradit někdo jiný. Ve WFA jsem toto řešil binding listem a flowlayoutpanelem.
A nešlo by to náhodou řešit skrze indexy?
A co to projet foreachem a když najdeš ten který hledáš tak ho rovnou odstranit?
To by nešlo. Nejde manipulovat s prvky, které zrovna projíždíš ve
foreach.
Musel bys to celé zkopírovat do nového umístění v paměti (Nesmí to být
jako reference)to projet a to staré mazat podle indexů z nového.
Já to obvykle řeším tak, že v foreach projedu celý list, do List<int> si uložím indexy ke smazání a ty pak v dalším foreach (přes ty inty) smažu.
Jasně, to je taky možnost. A si je i lepší. Rozhodně to je méně náročné na paměť, při větších datech.
Můžeš s nimi manipulovat ale ne mazat, to se dá vyřešit že po smazání se foreach přeruší breakem
Zobrazeno 10 zpráv z 10.