Úvod do jazyka C# a rozhraní .NET Framework
C# je elegantní a typově bezpečný objektově orientovaný jazyk, který umožňuje vývojářům vytvářet bezpečné a robustní aplikace, které pracují na .NET Framework.Můžete použít jazyk C# pro tvorbu aplikací klienta systému Windows, webové služby XML, distribuované součásti, aplikace typu klient-server, databázové aplikace a mnohem, mnohem více.Visual C# obsahuje rozšířený editor kódu, vhodné návrháře uživatelské rozhraní, integrovaný ladicí nástroj a mnoho dalších nástrojů usnadňujících vývoj aplikací založených na jazyce C# a .NET Framework.
[!POZNÁMKA]
Dokumentace Visual C# předpokládá, že máte znalosti o základních konceptech programování.Pokud jste úplný začátečník, možná budete chtít vyzkoušet Visual C# Express, která je k dispozici na webu.Můžete také využít výhod knih a webových prostředků o jazyce C# a získat tak praktické znalosti programování.
Jazyk C#
Syntaxe C# je vysoce výrazová, ale je také jednoduchá a snadno zapamatovatelná.Syntaxi využívající složenou závorku v jazyce C# pozná okamžitě každý, kdo zná jazyk C, C++ nebo Java.Vývojáři, kteří znají některý z těchto jazyků, jsou obvykle schopni začít produktivně pracovat v jazyce C# ve velmi krátké době.Syntaxe C# zjednodušuje mnoho složitostí jazyka C++ a obsahuje silné funkce, jako jsou typy s možnou hodnotou null, výčty, delegáti, lambda výrazy a přímý přístup do paměti, což není k dispozici v jazyce Java.Jazyk C# podporuje obecné metody a typy, které poskytují zvýšení typové bezpečnosti a výkonu, a iterátory, které umožňují implementátorům tříd kolekcí definovat vlastní chování iterací, které je jednoduché pro použití kódem na straně klienta.Výrazy LINQ (Language-Integrated Query) vytvářejí dotazy silných typů prvotřídní jazykové konstrukce.
Jako objektově orientovaný jazyk podporuje jazyk C# koncepty zapouzdření, dědičnosti a polymorfismu.Všechny proměnné a metody, včetně metody Main, vstupního bodu aplikace, jsou zapouzdřeny v rámci definic třídy.Třída může dědit přímo od jedné nadřazené třídy, ale může implementovat libovolný počet rozhraní.Metody, které jsou nadřazeny virtuálním metodám v nadřazené třídě, vyžadují pro zabránění náhodnému předefinování klíčové slovo override.V jazyce C# je struktura jako lehká třída; je to typ přidělený na zásobník, který umí implementovat rozhraní, ale nepodporuje dědění.
Kromě těchto základních objektově orientovaných principů C# usnadňuje vývoj softwarových komponent díky několika inovačním jazykovým konstrukcím, včetně následujících:
Zapouzdřené podpisy metod nazývané delegáti, které povolují typově bezpečná oznámení o událostech.
Vlastnosti, které slouží jako přístupové objekty pro proměnné soukromých členů.
Atributy, které poskytují deklarativní metadata o typech za běhu.
Dokumentační komentáře XML pro vložení.
LINQ (Language-Integrated Query), který poskytuje předdefinované možnosti různých datových zdrojů.
Pokud potřebujete pracovat s jiným softwarem systému Windows, například objekty modelu COM nebo nativními knihovnami DLL Win32, můžete toho dosáhnout v jazyce C# prostřednictvím procesu nazývaného "Interoperabilita". Interoperabilita umožňuje programům C# provádět téměř všechny akce, které umožňují nativní aplikace C++.C# podporuje i ukazatele a koncept "nebezpečného" kódu pro případy, ve kterých je nezbytně nutný přímý přístup do paměti.
Proces sestavení C# je jednodušší, než v jazycích C a C++ , a flexibilnější, než v jazyce Java.Neexistují žádné samostatné hlavičkové soubory a žádný požadavek, aby metody a typy byly deklarovány v určitém pořadí.Zdrojový soubor C# může definovat libovolný počet tříd, struktur, rozhraní a událostí.
Následují další zdroje jazyka C#:
Dobrý obecný úvod do jazyka naleznete v kapitole 1 tématu Specifikace jazyka C#.
Podrobné informace o specifických aspektech jazyka C# naleznete v části Referenční dokumentace jazyka C#.
Další informace o LINQ naleznete v tématu LINQ (Language-Integrated Query).
Pro nejnovější články a zdroje z týmu Visual C# si přečtěte téma Středisko pro vývojáře Visual C#.
Architektura platformy .NET Framework
Programy v jazyce C# běží v .NET Framework, součásti systému Windows, která obsahuje virtuální systém spouštění s názvem CLR (common language runtime) a unifikovanou sadu knihoven tříd.CLR představuje komerční implementaci mezinárodního standardu CLI (Common Language Infrastructure) společnosti Microsoft, který je základem pro vytváření, provádění a vývoj prostředí, ve kterých jazyky a knihovny fungují společně bez problémů.
Zdrojový kód v jazyce C# je zkompilován do formy IL (Intermediate Language), která odpovídá specifikaci CLI.Kód IL a prostředky, například rastrové obrázky a řetězce, jsou uloženy na disku v formě spustitelného souboru nazývaného jako sestavení (obvykle s příponou .exe nebo .dll).Sestavení obsahuje manifest, který poskytuje informace o typech, verzích, jazykových verzích a požadavcích na zabezpečení sestavení.
Pokud je spuštěn program C#, je načten do CLR, kde může mít různé akce na základě informací v manifestu sestavení.Potom, pokud jsou splněny požadavky na zabezpečení, modul CLR provede pouze v čase (JIT) kompilaci kódu IL pro převod na nativních strojové instrukce.CLR také poskytuje jiné služby související s automatickým uvolňováním paměti, zpracováním výjimek a správou prostředků.Kód, který je proveden součástí CLR je někdy označován jako "spravovaný kód" na rozdíl od "nespravovaného kódu", který je kompilován do nativního strojového jazyka, který se zaměřuje na konkrétní systém.Následující diagram znázorňuje vztahy chování při kompilaci a chování za běhu pro soubory se zdrojovým kódem jazyka C#, knihovny tříd rozhraní .NET Framework, sestavení a modul CLR.
Vzájemná spolupráce jazyků je základní funkcí pro .NET Framework.Protože je kód IL produkovaný kompilátorem jazyka C# v souladu se specifikací CTS (Common Type Specification), kód IL generovaný jazykem C# může spolupracovat s kódem, který byl vytvořen .NET verzí jazyka Visual Basic, Visual C++ nebo některého z více než 20 dalších jazyků kompatibilních s CTS.Jediné sestavení může obsahovat více modulů, které jsou napsány v různých jazycích .NET, a typy mohou odkazovat na sebe navzájem, jako by byly napsány ve stejném jazyce.
Kromě služeb běhu .NET Framework také obsahuje rozsáhlou knihovnu více než 4000 tříd, které jsou uspořádány do oborů názvů, které poskytují celou řadu užitečných funkcí pro vše od vstupu a výstupu ze souboru pro manipulaci s řetězci přes analýzu XML po ovládací prvky Windows Forms.Typická aplikace C# používá knihovnu tříd .NET Framework pro zpracování běžných „údržbových“ činností.
Další informace o rozhraní .NET Framework naleznete v tématu Overview of the Microsoft .NET Framework.
Doporučené kapitoly knihy
C# Language Fundamentals v Learning C# 3.0: Master the fundamentals of C# 3.0
C# and .NET Programming v Learning C# 3.0: Master the fundamentals of C# 3.0
Úvod do jazyka C# in Začátky s jazykem Visual C# 2010
Visual Studio 2008 and C# Express 2008 v Learning C# 3.0: Master the fundamentals of C# 3.0