Movatterモバイル変換


[0]ホーム

URL:


Preskočiť na obsah
WikipédiaSlobodná encyklopédia
Hľadať

C Sharp

z Wikipédie, slobodnej encyklopédie
Správny názov tohto článku jeC#. Vynechanie# je spôsobenétechnickými obmedzeniami.
C#

Druhobjektový
Dátum vzniku2000 (25 alebo26 rokov)
Použitievšeobecné
Typová kontrolasilná
TvorcaMicrosoft
Implementácie.NET,.NET Framework,Mono
Používané prípony.cs,.csproj,.sln

C# (v angličtinec sharp - vysl.sí šarp) jeobjektovo-orientovanýprogramovací jazyk vyvinutý spoločnosťouMicrosoft ako časť ich iniciatívy.NET. Microsoft si za základ pre nový jazyk C# zobralC++ a jazykJava. C# bolo navrhované s úmyslom vyvážiť silu jazyka C++ a tú spojiť s možnosťou rýchleho programovania "rapid application development", ktoré ponúkali jazyky ako napríkladVisual Basic,Delphi. Posledná verzia jazyku C# je 11, vydaná v Novembri 2022.

Tento článok popisuje jazyk tak, ako je definovaný v štandardoch ISO a ECMA, pričom nepopisuje detaily implementácie firmouMicrosoft. Pre popis implementácie jazyka firmouMicrosoft si pozrite hesloMicrosoft Visual C#.

Ciele pri tvorbe jazyka

[upraviť |upraviť zdroj]

V štandarde ECMA boli kladené nasledovné ciele pri tvorbe jazyka C#:

  • C# bol vytváraný tak, aby boljednoduchým,moderným,objektovo orientovaným jazykom prevšeobecné použitie.
  • Jazyk a jeho implementácie by mali poskytovať podporu pre nasledovné princípy softvérového inžinierstva ako silná typová kontrola, kontrola ohraničenia polí, detekciu pokusov na využitie neinicializovaných premenných a automatickú správu pamäte. Dôležitými vlastnosťami je tiež robustnosť, odolnosť a produktivita.
  • Jazyk je tvorený so zreteľom na vývoj softvérových komponentov, ktoré sú vhodné pre nasadenie v distribuovaných prostrediach.
  • Prenositeľnosť zdrojového kódu je mimoriadne dôležitá, rovnako ako aj prenositeľnosť znalostí programátorov so skúsenosťami s jazykmiC aC++.
  • Lokalizácia a internacionalizácia je mimoriadne dôležitá.
  • C# je jazyk zameraný na tvorbu aplikácií pre hostované, ako aj embedded systémy s ohľadom na veľkú škálovateľnosť od veľmi veľkých systémov používajúcich sofistikované operačné systémy po veľmi malé zariadenia pre špecializované úlohy.
  • Aj keď je jazyk C# plánovaný na ekonomické využívanie pamäte a procesorového času, nie je kompletne zameraný na výkonnosť a veľkosť výsledného binárneho kódu ako jazykyC aleboassembler.

História architektúry

[upraviť |upraviť zdroj]

Tvorca princípov a hlavný architekt jazyka C# jeAnders Hejlsberg. Jeho predchádzajúce skúsenosti s programovacími jazykmi a dizajnom frameworkov (Visual J++,Borland Delphi,Turbo Pascal) sú ľahko rozpoznateľné v syntaxi jazyka, rovnako ako aj v CLR (Common Language Runtime). Jeho analýza nedostatkov súčasných hlavných programovacích jazykov ako napríkladC++,Java,Delphi aSmalltalk, ktoré prezentoval vo svojich technických príspevkoch a rozhovoroch stáli pri zrode základov CLR a ktoré neskôr ovplyvnili aj dizajn samotného jazyka C#. Niektoré korene a princípy samozrejme pochádzajú aj z iných programovacích jazykov.

Vlastnosti jazyka

[upraviť |upraviť zdroj]

C# ako programovací jazyk v niektorých ohľadoch priamo odráža vlastnosti vrstvy CLI (Common Language Infrastructure), ktorá leží pod ním. Tento jazyk bol priamo navrhnutý tak, aby umožňoval využitie všetkých vlastností, ktoré poskytuje CLI, na rozdiel od jazykov, ktoré majú vlastnú syntax a využívajú len podmnožinu vlastností CLI (ako napríkladVisual Basic). Väčšina typov zavedených v jazyku C# priamo korešponduje s hodnotovými typmi implementovanými v CLI frameworku, špecifikácia jazyka C# však neurčuje podmienky, ktorými sa má generovanať kód z kompilátora. To znamená, že kompilátor jazyka C# nemusí mať za cieľovú podpornú platformu priamo CLI, respektíve vôbec nemusí generovať medziprekladový jazyk MSIL (Microsoft Intermediate Language), ani žiaden iný formát. Teoreticky je možné vytvoriť kompilátor jazyka C#, ktorý bude prekladať priamo do strojového kódu ako tradičné kompilátory jazyka C++, Fortran a podobne.

Pri porovnaní s jazykmi C a C++ došlo k rôznym obmedzeniam a rozšíreniam, z ktorých sú najvýraznejšie tieto:

  • Neexistujú globálne premenné. Všetky metódy a atribúty musia patriť niektorej triede, podobne ako v iných objektovo-orientovaných jazykoch.
  • Na rozdiel od C a C++ sa názvy premenných nesmú v uzatváracích blokoch opakovať, čo vedie k zlepšeniu čitateľnosti kódu a zamedzuje nejednoznačnostiam a zmiatnutiu pri čítaní zdrojového kódu.
  • Namiesto globálnych funkcií ako napríkladprintf() v jazyku C musia byť všetky metódy deklarované s príslušnosťou k triede. Triedy sú v drvivej väčšine organizované do menných priestorov (namespace)

Ukážky z kódu

[upraviť |upraviť zdroj]

C# používa dvojitú lomku (//) na označenie komentáru.

publicclassAhoj{// komentárpublicstaticvoidSvet(intfirstParam){}//Iný komentár}

Na viacriadkový komentár sa používa lomka s hviezdičkou (/* pre začiatok, */ pre ukončenie)

publicclassAhoj{publicstaticvoidMain(){/* toto je viacriadkový komentár*/Console.Writeline("Ahoj!");}}

Príklad

[upraviť |upraviť zdroj]
publicclassPole{publicstaticvoidMain(){int[]numbers={5,6,1,-2,0};foreach(intiinnumbers){System.Console.WriteLine(i);}}}

Programovací jazyk C# je objektovo orientovaný a zdrojový kód sa člení do tried. Názvy triedby mali korešpondovať s ich funkcionalitou. Tento program je tvorený triedouPole, ktorá obsahuje funkciumain. Vo funkciimain sa vytvára pole o veľkosti 5prvkov. Následne sú hodnoty jednotlivých prvkov poľa vypísané na štandardnývýstup.

Výstup programu:

5

6

1

-2

0

Rozdiely oprotiC++

[upraviť |upraviť zdroj]
  • Automatické uvoľnenie pamäte pri dátových typoch
  • Trieda sa dá odvodiť len od jednej triedy, ostatné sa dajú len implementovať ako rozhrania
  • Vlastnosti sa dajú definovať automaticky ako v príklade
...publiclongValidValue{get{returnnacitajHodnotuDynamicky();}set{if(value>0&&value<50){nastavHodnotu(value);}}}...obj.ValidValue=5;...
Zdroj: „https://sk.wikipedia.org/w/index.php?title=C_Sharp&oldid=7894348
Kategórie:
Skryté kategórie:

[8]ページ先頭

©2009-2026 Movatter.jp