Využij akce až 80 % zdarma při nákupu e-learningu. Více informací.
Pouze tento týden sleva až 80 % na e-learning týkající se Pythonu
python week

Diskuze: return List<> vrací prázdnou hodnotu

Aktivity
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.
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
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
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.