Válí se ti projekty v šuplíku? Dostaň je mezi lidi a získej cool tričko a body na profi IT kurzy v soutěži ITnetwork summer 2017!
Přidej si svou IT školu do profilu a najdi spolužáky zde na síti :)
Avatar
no.good
Člen
Avatar
no.good:25.2.2014 20:33

Ahoj, mám udělanou v C# tuto třídu TestListu a metodu **vratSeznam, která by měla vracet **List<> seznam s položkami seznamu viz níže.

class TestListu
    {
        public List<string> vratSeznam()
        {
            List<string> seznam = new List<string>();

            seznam.Add("Daniel");
            seznam.Add("Monika");
            seznam.Add("Pepik");

            return seznam;
        }
    }

Nicméně, když danou třídu vytvořím, a pak zkusím vrátit List<> seznam, tak mi program vrátí prázdnou hodnotu.

TestListu vracenySeznam = new TestListu();

List<string> seznam = new List<string>();

seznam = vracenySeznam.vratSeznam();

Snažím se na to přijít čim to je a nevím. Díky za rady

 
Odpovědět 25.2.2014 20:33
Avatar
rwn
Člen
Avatar
rwn:25.2.2014 21:10

Mě to třeba jede co tu máš napsané. Není to spíš tím, že to špatně vracíš? Třeba tu první položku máš v Listu pod seznam[0] atd. Mimochodem, při každém dalším zavolání si předchozí List zahazuješ.

Nahoru Odpovědět 25.2.2014 21:10
Co můžeš naprogramovat dnes, neodkládej na zítřek.
Avatar
no.good
Člen
Avatar
no.good:25.2.2014 21:17

Promiň jo spletl jsem se už mi to jede, tohle nahoře funguje správně :)

 
Nahoru Odpovědět 25.2.2014 21:17
Avatar
Jan Vargovský
Redaktor
Avatar
Odpovídá na no.good
Jan Vargovský:25.2.2014 21:23

Jen doplňím, že podle C# konvencí by se ta metoda měla jmenovat VratSeznam.

Jinak zápis jde udělat elegantněji:

class TestListu
    {
        public List<string> VratSeznam()
        {
            return new List<string>() { "Daniel", "Monika", "Pepik" };
        }
    }

A i samotné volání:

List<string> seznam = new TestListu().VratSeznam();

Je zbytečné držet v paměti instanci, která dělá jen tohle :)

 
Nahoru Odpovědět  +3 25.2.2014 21:23
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 4 zpráv z 4.