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#.

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

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

Velká podzimní aktualizace Windows 10 je tady: Co přináší Fall Creators Update

Velká podzimní aktualizace Windows 10 je tady: Co přináší Fall Creators Update

** Po půl roce je tu další aktualizace Windows ** A opět přináší hlavně hromadu drobných kosmetických vylepšení ** Podívali jsme se na ty nejzajímavější

17.  10.  2017 | Jakub Čížek | 186

Jak funguje největší akumulátor v Česku: podívejte se do elektrárny Dlouhé Stráně

Jak funguje největší akumulátor v Česku: podívejte se do elektrárny Dlouhé Stráně

** Přečerpávací vodní elektrárna Dlouhé stráně je obdivuhodné technické dílo ** Stejná turbína vyrábí elektřinu i tlačí vodu zpět do horního jezera ** Strojovna elektrárny je zabudována v podzemí

19.  10.  2017 | David Polesný | 25

Přichází doba hypersonických zbraní. Hrozí zvýšené riziko jaderného konfliktu

Přichází doba hypersonických zbraní. Hrozí zvýšené riziko jaderného konfliktu

** Světové mocnosti vyvíjí nové, nesmírně rychlé zbraně ** Jsou schopné pokořit rychlost Mach 5 ** Tyto zbraně mohou zvýšit riziko rozpoutání válečného konfliktu

19.  10.  2017 | Stanislav Mihulka | 20


Aktuální číslo časopisu Computer

Nový seriál o programování elektroniky

Otestovali jsme 17 bezdrátových sluchátek

Jak na nákup vánočních dárků ze zahraničí

4 tankové tiskárny v přímém souboji