Diskuze: Předem neznámá velikost pole
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.

Tvůrce

Zobrazeno 18 zpráv z 18.
//= 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žij list - tedy System.Collections.Generic.List<typ listu (string, int)>,... Pokud jej budeš používat častěji, dej si System.Collections.Generic do sekce using,... Jinak List jest dynamické pole - jeho velikost se přizpůsobuje počtu prvků v něm,... Deklaruje se:
List<string> list = new List<string>();
A přidáš do něj:
list.Add(5556);
To string, nebo int je samozřejmě jenom příklad - chybí mi tam pár
teček,...
Je to tzv. Genericita nastavujes jaky datovy typ budes do pole vkladat, abys jej nemusel pretypovavat a kontrolovat.
Pár zajímavých příkladů jsem našel tady:
http://www.dotnetperls.com/list
Příjemně mě překvapilo grafické zpracování celého webu. Škoda, že ho tady nehodnotíme.
Měl by sis přečíst zdejší tutoriály, přesně toto se tam řeší. To jsou naprosté základy.
Teď jsem si to teprve uvědomil, vždyť se ptáš pod článkem, který to vysvětluje. Co ten velký nadpis "Proměnná délka pole"? Tohle asi nikdy nepochopím...
Časem to pochopíš. Někteří lidé nezvládnou dočíst článek, který je delší, než n řádek. Za n si dosaď číslo <0..length>.
Průměrná hodnota n u lidí je asi kolem 100. Delší články zpravidla nemá smysl psát, je lepší je rozdělit.
samozřejmě jsem si článek četl...
ty si tam ale délku pole při deklaraci dosadíš v proměnné...
Já potřebuji aby při deklaraci pole jsem nemusel definovat jeho velikost
int[] pole = new int['bez definice velikosti pole']
to bude řešit asi ten list...
Při deklaraci pole nemusíš definovat jeho velikost, tu definuješ až při jeho inicializaci za běhu programu. Na co se ptáš je vyřešeno zde v článku, pole se vytvoří až podle počtu známek.
Pokud máš na mysli, že chceš dynamicky měnit velikost pole, tak k tomu je např. List. K Listu bys došel během tohoto seriálu, je to objekt, proto je vysvětlený až v objektech. Zde čtenář nemá znalosti, aby s ním mohl pracovat.
Pole v PHP je vlastně kombinací pole a seznamu. Pokud předem neznáš délku pole, zpravidla potřebuješ seznam.
Čisté pole se dnes používá jen zřídka, ve většině aplikací bylo nahrazeno seznamy a slovníky.
Na list jsem ho odkázal již já - tak k čemu ta diskuze?
Diskuze proto, že se ptal na deklaraci pole s předem neznámou velikostí, která je zde ukázaná. Patrně myslel něco jiného, než na co se ptal.
Teď mě napadá, jestli jsi nemyslel tohle:
int[] pole; // deklarace
... // nějaký kód, kde zjistíš délku
pole = new int[delka]; // inicializace
Je to ono? Deklaraci
můžeš provést jen takto, tím dáš C# vědět, že ta proměnná existuje.
Pole do ní vložíš až tehdy, co budeš vědět, jak má být velké. Ale
stejně můžeš pole založit s délkou podle proměnné až ve chvíli, co
délku znáš.
právě když jsem se zastavil v čtení článků o C# abych si něco zkusil
udělat vlastního, zastavil jsem se před článkem list, smůla no.
Jo jo spletl jsem se v pojmu deklarace, při inicializaci pole jeho délku
nevím, takže potřebuji dynamicky měnit jeho velikost. Myslel jsem že to
pude s polem právě vyřešit, proto jsem to psal sem...
Jinak články jsou opravdu dobrý, hlavně chválím ty o OOP. (V php jsem se
vždy v OOP nějak zamotal teď už to chápu...).
Jo a nikdy bych si nedovolil psát sem takovýhle otázky aniž bych si článek
pořádně přečetl !! Někdy ale může být ne vině moje schopnost
vyjadřovat se
No a to není jednodušší použít list? - nemusí se nikde pídit po velikosti,...
Pokud potřebuješ pole, u kterého chceš dynamicky měnit jeho velikost, nepotřebuješ pole, ale seznam. Tedy list. Nepleť si to.
Zobrazeno 18 zpráv z 18.