Zdrojecsharp

Na úvod

C# je jazyk, který lze použít pro programování ve frameworku .NET. Existují i jiné jazyky, například Visual Basic, C++ atd více o tom zde http://programujte.com/?akce=clanek&cl=2006062008-jazykova-integrace je tam i jazyková integrace všechny tyto jazyky jsou navzájem propojitelné ale je doporučené dělat aplikace vždy v jednom z těchto jazyků kvůli přehlednosti. Nejpoužívanější je C# a a ten taky budeme používat. Podle mého názoru je zbytečné číst celou knížku o tomto jazyku protože syntaxe je podobná. Spíš bych se podíval na jednotlivé hlavní odlišnosti od JAVY nebo C++ a na spefické problémy, jako připojení do DB, jak udělat GUI práce s MVC frameworkem, ošahat si visual studio 2010 atd…. Jinak o tom WPF jak jsem se bavili tak on je pouze na desktopové aplikace, ohlendě MVC frameworku jsem našel asi nejpoužívanější ASP.NET MVC.

Rozdíly oproti JAVĚ

Jak řekl Honza na cviku je to velice podobné javě, většina věcí interfaci, generické třídy atd je stejné. Jinak na netu je toho o C# hodně většinou stačí zadat příkaz do googlu a najde to něco.

Nástroje pro strukturu a komentování kódu

REGIONY

-slouží k popisování bloků kódu často se používají s komentářem nad nima

//  proměnné 
#region Proměnné(type, color)
//náš kód
int type;
int color;
//atd
#endregion

ty to regiony pak můžem srolovávat a rozbalovat, slouží to hodně pro přehlednost dále co se tý tady je o tom něco http://www.zive.cz/clanky/poznavame-c-a-microsoftnet-23-dil--direktivy-pre-procesoru/sc-3-a-124656/default.aspx obecně se tomu říká direktivy preprocesoru ale myslím že nám se nejvíce budou hodit regiony dále Visual Studio umí spoustu zkratek viz cv01.pdf například když nad metodou s parametry
zmáčnete třikrát klávesu ´/´ udělá se tohle:
/// <summary>
/// Konstruktor s dvema parametry, barva a typ
/// </summary>
/// <param name="color">barva karty</param>
/// <param name="type">typ karty</param>
        public CCard(int _color, int _type) {
            this.color = _color;
            this.type = _type;
        }

jednotlivé komentáře k parametrům jsou pak vidět když metodu volám, je to podobné jako JAVADOC v javě.

NAMESPACE

Další vymoženosti

PROPERTIES

-to je vlastně jinej postup jak dělat getry a setry ani se to nemusí používat, záleží na názoru tady je o tom něco: http://msdn.microsoft.com/en-us/library/x9fsa0sw.aspx
například:

/// <summary>
/// Vlastnosti určující barvu karty
/// </summary>
        public int Color{
            get {return this.color;}
            set {this.color = value;} // při vynechání set lze udělat property jen pro čtení
       }

// není potřeba žádná speciální implementace
public string Name { get; set; }

máte getter a setter hned u sebe, nemusím tam to "set" vůbec dávat potom mám tu barvu pouze pro čtení. Pak použití vypadá následovně:

objekt.Color = 1; //jako setter 
int color = objekt.Color; //jako getter

LINQ

-To se hodí když chceme operovat nad nějakým polem nebo listem, je to něco jako SQL příkaz který nešahá do DB ale do paměti když tomu člověk porozumí tak to zmenší rozsah kódu a ty algoritmy které zpracovavají dotaz jsou prý efektivní
http://www.programmersheaven.com/2/CSharp3-4

DELEGÁTY

-Něco jako ukazatel na funkci v C++, myslím že to asi nevyužijeme.
http://www.zive.cz/clanky/poznavame-c-a-microsoftnet-15-dil--delegaty/sc-3-a-123479/default.aspx

Ostatní odkazy:

http://www.functionx.com/csharp/ jsou tam jednotlivé lekce
http://download.microsoft.com/download/5/2/A/52A8DA40-4BC6-4D3A-9D95-AAA684EAE9A0/CS_40_PP.pdf pdko v češtině, je to obsáhlé