NOVINKA: Získej 40 hodin praktických dovedností s AI – ZDARMA ke každému akreditovanému kurzu!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze – Lekce 2 - Seznam (list) pomocí pole v C#

Zpět

Upozorňujeme, že diskuze pod našimi online kurzy jsou nemoderované a primárně slouží k získávání zpětné vazby pro budoucí vylepšení kurzů. Pro studenty našich rekvalifikačních kurzů nabízíme možnost přímého kontaktu s lektory a studijním referentem pro osobní konzultace a podporu v rámci jejich studia. Toto je exkluzivní služba, která zajišťuje kvalitní a cílenou pomoc v případě jakýchkoli dotazů nebo projektů.

Komentáře
Avatar
Kit
Tvůrce
Avatar
Odpovídá na Petr Nymsa
Kit:2.4.2013 17:37

Právě proto tuto zvyklost nechápu. Interním vlastnostem a metodám malá písmena, externím velká. Přitom cislo i Jmeno mohou být neprimitivní objekty. Když pak chceš nějakou interní vlastnost zpřístupnit, musíš přejmenovat všechny výskyty ve třídě.

Odpovědět
2.4.2013 17:37
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Petr Nymsa
Tvůrce
Avatar
Odpovídá na Kit
Petr Nymsa:2.4.2013 17:41

Je to zvyklost no. Nepřímo nás k tomu vede i sám pán Microsoft

Odpovědět
2.4.2013 17:41
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar
Kit
Tvůrce
Avatar
Odpovídá na Petr Nymsa
Kit:2.4.2013 17:47

Některé zvyklosti jsou podivné. V reálném životě se třídy píší malými písmeny, objekty velkými, ale například v Javě je tomu přesně naopak. A pokud se chceme domluvit se zbytkem světa, musíme se tomu podřídit.

Odpovědět
2.4.2013 17:47
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
luxurya
Neregistrovaný
Avatar
luxurya:27.5.2013 22:21

jak mam tento kod upravit aby mi hledal podle čísel? mam na jednom řáadku slova a název(text), zkoušel sem plno věci ale moc tomu nerozumím

static void serad2(string[] pole)
{
try
{

ArrayList ar = new ArrayList();

string radek;
using (StreamReader sr = new StreamReader(@"c:\sem­\dat.txt"))
do
{
radek = sr.ReadLine();
ar.Add(radek);
} while (radek != null);

ar.Sort();

StreamWriter sw = new StreamWriter(@"c:\sem­\dat2.txt");

for (int i = 0; i < ar.Count; i++)
{
sw.WriteLine(ar[i]);
Console.Write­Line(ar[i]);
}
sw.Close();
Console.Write­Line("je seřazeno ------------");

}
catch (Exception e)
{
Console.Write­Line(e.Message);
}
}

 
Odpovědět
27.5.2013 22:21
Avatar
matesax
Tvůrce
Avatar
Odpovídá na
matesax:28.5.2013 6:10

Nerozumím zadání, nerozumím cyklu pro čtení, nerozumí tomu, proč nepoužíváš tagy code pro vložení zdrojáku, nerozumím, proč cokoliv strkáš do C:\ (uživatelská data patří do ApplicationData - data aplikací...), nerozumím, proč na to používáš ArrayList, nerozumím, proč to píšeš sem - nerozumím tedy asi ničemu...

Nejčastěji se používá:

string line;

using (StreamReader sr = new StreamReader(...))
    while((line = sr.ReadLine()) != null)

Pokud je náhodou správně, že chceš data na určitém řádku, tak pokud jde o jeden řádek, tak se cyklus asi vyplatí:

string line;

using (StreamReader sr = new StreamReader(...))
   for(int row = 0; (line = sr.ReadLine()) != null && row != cisloHledanehoRadku; row++);

Což je prázdný cyklus - načte do proměnné line hledaný řádek...

A pokud by jsi chtěl více řádků, tak to pomocí toho cyklu uložíš do dynamického (znaje počet řádků statického) IEnumerable a taháš podle indexů - co více si přát?

Editováno 28.5.2013 6:11
 
Odpovědět
28.5.2013 6:10
Avatar
luxurya
Neregistrovaný
Avatar
luxurya:28.5.2013 9:50

diky moc, no ja vim že to pišu blbě, jsem v tom uplně nový a zkouším si to teprve

 
Odpovědět
28.5.2013 9:50
Avatar
Michal Žůrek - misaz:10.7.2013 10:26

Ahoj, když bych si dělal vlastní kolekci, třeba něco jako List(), tak jak docílím aby se mi to navenek chovalo jako pole.

třeba:

MojeKolekce<int> mk = new MojeKolekce<int>();
mk.Add("něco");
// A teď otázka:
Console.WriteLine(mk[0]);

jak docílím abych mohl získat ten prvek kdesi zevnitř přes index?

 
Odpovědět
10.7.2013 10:26
Avatar
Odpovídá na Michal Žůrek - misaz
Luboš Běhounek Satik:10.7.2013 10:35

do tridy MojeKolekce pridas neco jako

private List<String> mojePrivatniStringy;

public String this[int index]
    {
        get
        {
            return mojePrivatniStringy[index];
        }
        set
        {
            mojePrivateniStringy[index] = value;
        }
    }

A mohly by te zajimat rozhrani - treba IEnumerable, pripadne rovnou IList.

Odpovědět
10.7.2013 10:35
https://www.facebook.com/peasantsandcastles/
Avatar
petr.skolar
Člen
Avatar
petr.skolar:23.7.2015 13:19

Super vysvětlení, hezký článek, určitě z toho něco využiji, díky

 
Odpovědět
23.7.2015 13:19
Avatar
Marek
Člen
Avatar
Marek:19.9.2017 23:21

Ahoj,

kam zařadit pole ? Z toho, co jsem se zatím dočetl, tak pole není ani generická, ani obecná kolekce...

Díky.

 
Odpovědět
19.9.2017 23:21
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 10 zpráv z 31.