Odstranování položek z kolekce   otázka

C#

Ahoj, mám následující problém:

Ve vlasní kolekci mám položky. Ty po stisknutí tlačítka po jedné odstranuji. Vše funguje jak má, dokud v kolekci není pouze jedna položka. To pak stiknu tlačítko, něco se provede, ale položka v kolekci zůstane. Nevím jestli je problém v kolekci samé nebo v ukládání, ale všechny ostatní jdou bez problému. Poradte prosím

nahlásit spamnahlásit spam -1 / 1 odpovědětodpovědět

A co třeba sem napsat kód, který to provádí?

nahlásit spamnahlásit spam 0 odpovědětodpovědět

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
public void DeleteItem(Guid ID)
{
    this.DeleteItemInSpecificCollection(this.Store.Items, ID);
}
 
public void DeleteItemInSpecificCollection(ItemCollection ItemCollection_, Guid ID)
{
    foreach (Item Item1 in ItemCollection_)
    {
        if (Item1.ID == ID)
        {
            ItemCollection_.Remove(Item1);
            this.Save();
            return;
        }
        else
        {
            this.DeleteItemInSpecificCollection(Item1.SubItems, ID);
        }
    }
}

nahlásit spamnahlásit spam -1 / 1 odpovědětodpovědět

Co dělá Remove, Save a jakého typu je ItemCollection máme zjistit odkud? A pojmenovávat proměnné Pascal Casingem s podtržítkem na konci je zrůdnost odporující všem standardům.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

ItemCollection dědí od CollectionBase, a metoda Remove má:

1
2
3
4
public void Remove(Item Item_)
{
    this.List.Remove(Item_);
}

Metoda save serializuje kolekci pomocí binaryformatter

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Ale jak říkám, funguje to u všeho, až na poslední položku, at je jakákoliv

nahlásit spamnahlásit spam 0 odpovědětodpovědět

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback