C Sharp

Z CHWiki

Přejít na: navigace, hledání


Obsah

[editovat] Historie

Vyvinut v roce 2001 v Microsoftu Andersem Hejlsbergem jako součást iniciativity .NET. Později byl přijat jako ECMA a ISO standard. Nejpoužívanější implementací těchto standardů je Microsoft Visual C#.

[editovat] Druh jazyka

  • Překládaný do jazyka virtuálního počítače CIL (Common Intermediate Language - zásobníkově orientovaný assembler, původní název MSIL - Microsoft Intermediate Language), který je při spuštění překládaný do nativního kódu.
  • Objektově orientovaný, obsahuje Garbage Collector (automatická správa paměti), založen na syntaxi C++, přejímá některé vlastnosti jazyků Java a Delphi Language.
  • Jazyk Microsoft Visual C# existuje v několika verzích:
    1.0 
    málo používaný, součást .NET Frameworku 1.0, vývoj ve Visual Studiu 2002
    1.1 
    "základní" verze, součást .NET Frameworku 1.1, vývoj ve Visual Studiu 2003
    2.0 
    mnoho rozšíření (např. podpora generics, anonymních metod, partial classes), součást .NET Framework 2.0, vývoj ve Visual Studiu 2005
    3.0 
    přidány zejména rysy funkcionálních jazyků (lambda výrazy, anonymní typy), LINQ (Language Integrated Query - syntaxe podobná SQL použitá k dotazům nad libovolnými kolekcemi), extension methods, součást .NET Framework 3.5, vývoj ve Visual Studiu 2008 (kódové jméno Orcas)

[editovat] Použití

  • Všechny vrstvy aplikací, tedy prezentační vrstvu (typické je použití Windows Forms pro klasické aplikace a ASP.NET pro webové aplikace), logiku aplikace i přístup k datům (v jazyce C# je např. možné i psát uložené procedury pro databázi Microsoft SQL Server 2005).
  • Umožňuje vývoj aplikací pro stolní počítače i mobilní zařízení (PDA, smartphones).
  • Lze vložit do webové stránky UserControl (obdoba Java Appletu) - vyžaduje nainstalovaný .NET Framework u klienta.
  • Používá se i pro tvorbu her - lze použít OpenGL (přes import funkcí z nativních knihoven pomocí tzv. DllImport), DirectX (wrapper nad DirectX s názvem Managed DirectX) nebo XNA (podobné jako Managed DirectX, ale umožňuje i vývoj pro herní konzoli XBOX360).

[editovat] Programy v něm napsané

Např. Notebook Hardware Control, široce používané zejména na webu.

[editovat] Přenositelnost

Lze ho použít všude, kde je dostupná nějaká implementace .NET Frameworku. V současné době Windows, PocketPC, Windows Mobile, XBOX360. Unix a MacOS (projekt Mono).

[editovat] Co nabízí

Rychlý vývoj aplikací, přehledná syntaxe, vysoká typová bezpečnost, podpora reflection (dynamické zjišťování informací o typech apod.), integrovaná podpora pro XML dokumentační systém, velké množství literatury, výborné vývojové prostředí zdarma i pro komerční použití (Microsoft Visual C# 2005 Express Edition).

[editovat] Knihovny

.NET Framework obsahuje vše potřebné pro obecnou (nespecializovanou) práci - práce se soubory, sítí, databázemi atd. .NET Framework pro mobilní zařízení a XBOX360 neobsahují některé části .NET Frameworku, příp. obsahují jen některé verze přetížených metod apod.

[editovat] Příklady

Rozšířená Hello world konzolová aplikace:

 using System;
 using System.Collections.Generic;
 using System.Text;
 
 namespace ConsoleApplication1
 {
   class Program
   {
       static void Main(string[] args)
       {
           System.Console.WriteLine(string.Format("Hello world, the local time is {0}.", DateTime.Now.ToShortTimeString()));
           System.Console.Read();
       }
   }
 }