Poznáváme C# a Microsoft .NET – 2. díl

Po minulém jemném úvodu do světa platformy Microsoft .NET se dnes již zaměříme na programovací jazyk C#. Jde o nově vyvinutý jazyk pro .NET, který kombinuje vlastnosti známých a oblíbených programovacích jazyků a přidává k nim některé nové. I přes to, že si jsou jednotlivé programovací jazyky pro tuto platformu rovny, je C# Microsoftem prosazován jako jazyk hlavní.

Vlastnosti jazyka

Jak jsem napsal o pár řádků výše, C# je nově vyvinutý jazyk pro Microsoft .NET. Je navržen pro maximální využití této rychle se rozvíjející platformy. Jedná se o silně objektově orientovaný jazyk vycházející z programovacích jazyků Java a C++, takže pokud nějaký z těchto jazyků znáte, nebude pro Vás C# velký problém. Stejně jako tyto jazyky je i C# case-sensitive, což znamená, že významově odlišuje velká a malá písmena ve výrazech (zarovka a Zarovka jsou brány jako dva rozdílné pojmy). V tomto jazyce je realizováno 80% základních knihoven .NET frameworku. I přesto, že je koncipován hlavně pro psaní řízeného kódu, na jehož užití je platforma .NET postavena, lze jej v případě potřeby využít i pro tvorbu kódu neřízeného(bloky unsafe). Použití neřízeného kódu znamená, že běhové prostředí CLR neověřuje zda-li je napsaný kód bezpečný (například se neověřuje jinak vyžadovaná typová bezpečnost).

Nyní si dovolím uvést výčet několika vlastností jazyku C#, které můžete při tvorbě aplikací použít.

Jedná se o:

  • Třídy – základní stavební prvek při tvorbě objektově orientovaných aplikací obsahující akce (metody) a atributy
  • Struktury – lze je chápat jako zjednodušené třídy, jejich užitím jsou nejčastěji popisovány vlastní datové struktury.
  • Výčtové typy
  • Vlastnosti – někdy označované jako chytré proměnné
  • Pole a jejich „chytrá“ verze nazývaná indexery
  • Zástupci – typově bezpečné ukazatele na funkce
  • Události – druh zástupců sloužící ke zpracování asynchronních operací

Požadavky na běh

Základním požadavkem pro běh .NET aplikací je samozřejmě již několikrát zmíněné běhové prostředí .NET framework, které si můžete stáhnout na adrese www.microsoft.cz/net. Pro vývoj doporučuji stáhnout také .NET framework SDK (Software Development Kit), které mimo jiné obsahuje obsáhlou dokumentace k základním třídám .NET frameworku.

Vývojová prostředí

Pro vývoj .NET aplikací máte na výběr z několika vývojových prostředí. Samozřejmě pokud z nějakého důvodu specializované vývojové prostředí používat nechcete, můžete psát kód aplikace klidně v poznámkovém bloku a následně jej kompilovat v prostředí příkazového řádku. To bych vám ovšem příliš nedoporučoval. Za asi nejvhodnější vývojové prostředí pokládám Visual Studio .NET respektive Visual C#, což je jeho součást. Bohužel toto vývojové prostředí není zdarma, takže pokud nemáte v plánu vyvíjet aplikace komerčně asi to pro vás nebude nejvhodnější volba. Za účelem studia vidím jako dobrou volbu C# Builder od firmy Borland, který je ve své verzi personal volně ke stažení na adrese www.borland.com. Ovšem tuto verzi není dovolené používat pro vývoj komerčních aplikací. Pokud máte zájem vyvíjet komerční aplikace a nechce se vám utrácet existuje open source vývojové prostředí SharpDevelop a to najdete na adrese www.icsharpcode.net.

První program „Ahoj světe“

Je nepsaným zvykem začít učení programovacího jazyka tím nejjednodušším programem, který nedělá nic jiného než, že vypíše uživateli na obrazovku slova „Ahoj světe“. Tento prográmek se zrealizuje v jazyku C# takto:

using System;

 

namespace ukazky_zive

{

      class AhojSveteApp

      {

            public static void Main(string[] args)

            {

                  Console.WriteLine("Ahoj svete!");

                  Console.ReadLine();

            }

      }

}

Na prvním řádku si příkazem using importujeme knihovnu System, která obsahuje třídu Console, jejíž metody budeme používat. Řádek s klíčovým slovem namespace určuje do kterého jmenného prostoru třída patří (v našem případě patří do jmenného prostoru ukazky_zive). Jmenné prostory slouží v .NETu k oddělení tříd do k sobě logicky patřících částí. Výsledkem kompilace je knihovna DLL s názvem jmenného prostoru. Řádek s klíčovým slovem class určuje název vytvářené třídy (AhojSveteApp). Po něm následuje řádek definující metodu Main s identifikátory přístupu public a static ,která nevrací žádnou hodnotu což je dáno slovíčkem void. Do metody jako parametr vstupuje pole řetězců(string [] args). Všechny tyto podmínky musí metoda splňovat, aby třída AhojSveteApp byla spustitelná konzolová aplikace. No a příkaz Console.WriteLine vypíše předaný parametr (v našem případě je to řetězec „Ahoj svete!“) na obrazovku. V některých vývojových prostředích (například Borland C# Builder) je ještě vhodné uvést příkaz Console.Readline(), který zařídí nezavření okna aplikace ihned po výpisu našeho pozdravu. V prostředích Visual C# a SharpDevelop toto nutné není, protože ty si to zařídí sami. Jistě jste si všimli, že jednotlivé bloky programu jsou jako ve všech C-like jazycích uzavřeny do složených závorek.

Poznámka: Pokud jste nováčci ve světe objektově orientovaného programování, pak vám jsou pojmy jako třída či identifikátor přístupu nejspíše cizí. Ale nelekejte se, hned v příštím díle seriálu si tyto pojmy rozebereme.

Základní datové typy

Nyní si projdeme základní datové typy, použitelné v jazyku C#. Každý datový typ v C# ,stejně jako u ostatních jazyků pro .NET, je reprezentací datového typu .NET frameworku a to kvůli splnění specifikace CTS. Jsou to tedy:

  • Int – 32-bitový celočíselný typ s hranicemi -2,147,483,648 až 2,147,483,647
  • Uint – Int bez znaménka s hranicemi 0 až 4,294,967,295
  • Byte – 8-bitový celočíselný typ bez znaménka s hranicemi 0 až 255
  • Sbyte – byte se znaménkem s hranicemi -128 až 127
  • Short – 16-bitový celočíselný typ s hranicemi -32,768 až 32,767
  • Ushort – short bez znaménka s hranicemi 0 až 65,535
  • Long – celočíselný typ s hranicemi -9,223,372,036,854,775,808 až 9,223,372,036,854,775,807
  • Ulong – long bez znaménka s hranicemi 0 až 18,446,744,073,709,551,615
  • Float – číselný typ s desetinnou čárkou s přesností na 7 míst
  • Double – číselný typ s desetinnou čárkou s přesností na 15 nebo 16 míst
  • Char – vyjadřuje Unicode znak
  • String – reprezentuje řetězec znaků ve znakové sadě Unicode
  • Bool – logický typ, který nabývá pouze dvou hodnot : true(pravda)/false(nepravda)

Rozdělení datových typů

V .NET frameworku se datové typy dělí na dvě skupiny. Jsou to:

Hodnotové typy (value types) – do této skupiny patří všechny číselné datové typy, typ char a ostatní struktury. U těchto jednoduchých typů se jejich hodnota ukládá přímo do proměnné – místa v paměti určené pro uložení hodnoty.

Referenční typy (reference types) – do této skupiny patří typ String a všechny třídy. Na rozdíl od hodnotových typů se jejich hodnota uloží do oblasti paměti nazývané halda. Do proměnné se uloží pouze adresa paměti, kde je hodnota uložena – reference.

Příklad na konec

To byl tedy výčet základních typů jazyka C# a na konec předložím velmi jednoduchý příkladek, který ilustruje použití číselného typu int a řetězce znaků (string).

using System;

 

namespace ukazky_zive

{

      class ConsoleSecteniApp

      {

            public static void Main(string[] args)

            {

                  //deklarace promennych

                  int a;

                  int b;

                  int v;

                  //deklarace promenne i s jeji definici

                  string vysl_zprava = "Vysledek scitani je ";

                  /* Ulozeni hodnot do promennych

                   * ze standartniho vstupu pomoci metody ReadLine

                   * objektu Console ze systemove knihovny trid System

                   * a nasledne pouziti metody Int32.Parse pro prevod

                   * retezce na cislo

                  */

                  Console.Write("Prvni cislo:");

                  a = Int32.Parse(Console.ReadLine());

                  Console.Write("Druhe cislo:");

                  b = Int32.Parse(Console.ReadLine());

                  /*secteni hodnot promennych a,b a ulozeni vysledku

                   *  operace do promenne v

                  */

                  v = a + b;

                  Console.WriteLine(vysl_zprava + v);

            }

      }

}

V příštím díle našeho seriálu se budeme zaobírat základy objektového programování a jeho aplikací v C#.

Diskuze (57) | Comfor a Volný nabízejí k vánocům počítač s ADSL

Témata článku: Software, Microsoft, Programování, Unicode, Základní struktura, Layout, Halda, Díl, Rozdílný svět, Grid, Jednoduchý typ, Console

Určitě si přečtěte


Aktuální číslo časopisu Computer

Zachraňte nefunkční Windows

Jak nakupovat a prodávat kryptoměny

Otestovali jsme konvertibilní notebooky

Velký test 14 herních myší