[C#] Ukládání objektů do pole

C++, C#, Visual Basic, Delphi, Perl a ostatní

Moderátor: Moderátoři Živě.cz

Odeslat příspěvekod click.it 22. 4. 2011 14:39

Zdravím, potřebuji udělat třídu, ve které budu ukládat objekty jiné třídy. Něco jako zásobník. Mám ale problém, že se mi tyto objekty "přepisují". Tzn. že mám v poli všechny objekty stejné (vždy ten, který vložím naposled).

Můj kód:

public class Container
{
public int i = 0;
public Clovece[] items = new Clovece[3];

public Clovece Toward()
{
if (i < 3) i--;
return items[i];
}

public Clovece Backward()
{
if (i < 3) i = i + 1;
return items[i - 1];
}

public void Set(Clovece cl1)
{
items[2] = items[1];
items[1] = items[0];
items[0] = cl1;
}
}

Děkuji za odpovědi :-)
click.it
Junior
Uživatelský avatar

Odeslat příspěvekod cospi 22. 4. 2011 16:34

neni lepsi pouzit
List<Clovece> clovece = new List<Clovece>();
Clovece c = new Clovece();
clovece.Add(c);
cospi
Junior

Odeslat příspěvekod click.it 22. 4. 2011 17:49

Bylo, problém byl někde jinde, už se našla dobrá duše a vyřešeno :)
click.it
Junior
Uživatelský avatar

Odeslat příspěvekod Popi 22. 4. 2011 18:03

Klidně sem můžeš napsat, jak jsi to vyřešil, tohle vlákno by se tak mohlo stát nějakým způsobem užitečným ;-)
..?
Popi
Junior
Uživatelský avatar

Odeslat příspěvekod Falhar 22. 4. 2011 22:10

>Tzn. že mám v poli všechny objekty stejné
Tohle mi stačí abych věděl, že měl new mimo cyklus, tak kde tu svoji třídu využíval.
Falhar
Junior

Odeslat příspěvekod click.it 23. 4. 2011 09:20

new jsem tam dával pokaždé, ale ty objekty jsem tam dával tím stylem, že objekt1 = objekt2, tzn. že jsem jen překopíroval odkaz na ten stejný objekt
click.it
Junior
Uživatelský avatar


Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 0 návštevníků