Názory ke článku C# - 4. lekce
30. 10. 2007
tak ako vecina clankov ktore som uz na nete nasiel, ani tento neni vynimkov. na zaciatku vysvetlujete kazdy riadok klasickeho helloworld, ale dalej uz idete nepohopitelnym tempom. Pouzivate prikazy ktore nevysvetlujete. Priklady su zapisane tak, ze chapem co dany priklad robi, ale nechapem preco je zapisany tak ako je zapisany... touto cestou sa vazne neda ist. Urcite nie ako zaciatocnik.
10. 11. 2007
To Raydowe: Oni to totiž asi dělaj zkušení programátoři, kterým to připadá jako samozřejmost ze by to mel kazdej hned pochopit. Trochu se v tom vyznam tak muzu v necem poradit.
28. 12. 2007
To Tieson: ja by som rád vedel, ćo znamená to namespace, a prećo ho pouzivame, v minulych castiach, sme pouzivali len using System, a potom, pri zapise triedy sme predtym pouzili aj public, tu to preco nie je potrebne :), viete necem sa to ucit naspamä´t :D, to by som sa z toho o chvilu zblaznil
// sry za makcnene, ale nejak mi to pise stale dlzne pri malych pismenach :(
zdravím, chci se zeptat, co znamená v tomto kodu,
1. namespace?
2.tento řádek class MainClass
3.tento public static void Main(string[] argd)
4. a ještě proč jsou tam ty \a ??? Console.WriteLine("Zadej text: \a");
Děkuji moc
using System;
namespace prikladtextovky
{
class MainClass
{
public static void Main(string[] argd)
{
string i;
Console.WriteLine("Zadej text: \a");
i = Console.ReadLine();
Console.WriteLine(i + ",Hezky jste to napsal \a :)");
Console.ReadLine();
}
}
}
20. 8. 2008
Reagoval na komentář od uživatele mates6 :
v C# sice neprogramuju, prave ho zacinam pouzivat, ale videl bych to takhle
1. namespace prikladTextovky{ ... }
Predpokladam ze to bude obdoba package z JAVY, asi nejlip se to vysvetli na prikladu
napisu aplikaci rozhodnu se ze pro ni budu pouzivat namespace "mujNamespace"
prvniTrida.cs :
namespace mujNamespace{
public class prvniTrida{ ... } /* verejna trida muzu i mimo namspace pouzit jeji instanci stejne pojmenovany soubor JEN jednu public trudu do souboru */
private class druhaTrida{ ... }
}
tretiTrida.cs:
namespace mujNamespace{
class tretiTrida { ... } /* public nemusim pouzit protoze public je implicitni ani u prvniTrida jsem ho nemusel pouzit */
}
Tak aplikace je dokoncena. Zacnu psan novou aplikaci a zjistim ze jsem tak dobry objektove orientovany programator, ze prvniTrida z predchozi aplikace je natolik obecna, ze bych ji mohl pouzit i v druhe aplikaci. proto v druhe aplikaci budu pouzivat "using" i predchozi namespace mujNamespace takze treba
using System;
using mujNamespace;
namespace aplikace2{
class xyz{
/* zde muzu vytvorit instance prvniTrida a tretiTrida ale ne druhaTrida, protoze ta je private - pouze pro namespace mujNamespace */
prvniTrida nazevInstance = new prvniTrida();
}
}
2. radek class MainClass
to MainClass je jen nazev objektu, netusim jestli MainClass ma nejakej specialni vyznam v ramci namespace ale rekl bych ze ne.
3. public static void Main(string[] argd){ ... }
tohle je verejna staticka funkce s nazvem main, ktera nic nevraci(void) a prijima jako argument pole retezcu, ktere se v ramci funkce bude jmenovat argd
Navic tato funkce je volana jako pri spusteni prelozene aplikace a to pole argumentu ji predam jako parametry prikazoveho radku:
c:\>vysledny_exe_soubor.exe argument1 55675 argument3
potom ve funkci muzu pracovat s polem argd
argd[0] ma hodnotu "argument1"
argd[1] ma hodnotu "55675" POZOR je to retezec pro prevod na cislo musite pouzit funkci
argd[2] ma hodnotu "argument3"
4. escape sekvence a ... mno ta nevim co dela
Ten poslední příklad mi nefunguje, Visual Studio C# 2008 mi vyhazuje chyby. Ale vyvinul jsem funkční:
using System; //používáme systém
public class Mojetrida //začátek třídy
{
static void Main() //po spuštění proveď
{
Console.WriteLine("Copak mi povíš?\a"); //vypíšeme Copak mi povíš a pípneme s PC
string l = Console.ReadLine(); //vyčkáme dokud uživatel něco nezapíše do konzole a nezmáčkne enter, jak se tak stane, uložíme to do proměnné l
Console.WriteLine("Zadal jsi:"+l);//nyní to co zadal vypíšeme
Console.ReadLine(); // a počkáme aby si to uživatel mohl prohlédnout
}
}
29. 12. 2008
Reagoval na komentář od uživatele khubajsn :
Funguje to i takto bez větší úpravy. Jediné co vadilo, bylo to <br>
using System;
namespace PrikladTextovky
{
class MainClass
{
static void Main(string[] args)
{
string i;
Console.WriteLine("Zadejte text, který chcete vypsat:\a");
i = Console.ReadLine(); // přečte to, co uživatel do konzole napíše
Console.WriteLine(i + ", hezky jste to napsal(a) \a :)");
Console.ReadLine();
}
}
}