b'\n_START_ARTICLE_\nProgramski jezik C sharp\n_START_PARAGRAPH_\nC# je ve\xc4\x8dparadigmski programski jezik, ki obsega mo\xc4\x8do tipizacijo ter imperativno, deklarativno, funkcijsko, generi\xc4\x8dno, komponentno orientirano in objektno orientirano programiranje ter vsebuje zmo\xc5\xbenost refleksije. Upravljanje s pomnilnikom temelji na \xc4\x8distilniku spomina._NEWLINE_C# se pri skladnji zgleduje po \xc5\xa1tevilnih drugih programskih jezikih, najbolj izrazito po C, C++ in javi. Jezik je bil zelo skrbno na\xc4\x8drtovan z namenom uporabiti izku\xc5\xa1nje pri razvoju drugih programskih jezikov, uporabiti najbolj\xc5\xa1e zna\xc4\x8dilnosti in popraviti nekatere pomanjkljivosti, ki so se pokazale v razvoju teh jezikov. Pomemben primer so generi\xc4\x8dni tipi, katerih specifikacija je v C# bolj dodelana kot v javi, kar omogo\xc4\x8da bolje optimizirano strojno kodo, ve\xc4\x8djo varnost pri definiciji tipov (la\xc5\xbeje odkrivanje nekonsistentnosti v \xc4\x8dasu prevajanja) ter striktno upo\xc5\xa1tevanje kovarian\xc4\x8dnosti in kontravarian\xc4\x8dnosti._NEWLINE_C# je programski jezik, ki cilja na izvajalsko okolje CLI in s tem ogrodje .NET ter njegove razli\xc4\x8dice kot je Mono. Zaradi tega se programi v C# izvajajo v posebnem zvajalskem okolju in se programska koda v tem jeziku \xc5\xa1teje za upravljano kodo. Dele programov napisane v C# je zato enostavno povezovati z deli, ki so napisani v kateremkoli drugem programskem jeziku skladnem s CLI, z obstojem prenosljivih implementacij CLI (npr. [Mono ali .NET Core) pa imajo programi napisani v C# tudi zelo dobro prenosljivost med razli\xc4\x8dnimi platformami. Zaradi to\xc4\x8dne specifikacije programskega jezika in vmesnega jezika (Common intermediate language|CIL), se lahko program napisan v C# neposredno prevede in izvede na drugih okoljih, ne da bi bilo treba za prenosljivost program spreminjati. Zaradi omenjenih zna\xc4\x8dilnosti, jasne in dodelane skladnje, velike izraznosti (mo\xc5\xbenost uporabe razli\xc4\x8dnih paradigem) je C# eden najbolj priljubljenih programskih jezikov._NEWLINE_C# je razvilo ga podjetje Microsoft v okviru razvoja ogrodja .NET. Jezik sta kot standard odobrili organizaciji Ecma (ECMA-334) in ISO (ISO/IEC 23270:2006).\n_START_SECTION_\nGeneri\xc4\x8dni tipi\n_START_PARAGRAPH_\nGeneri\xc4\x8dni tipi so bili uvedeni v razli\xc4\x8dici 2.0. Generi\xc4\x8dni tipi uporabljajo tipske parametre, ki omogo\xc4\x8dajo na\xc4\x8drtovanje razredov in metos, ki ne specifirajo natan\xc4\x8dno vseh uporabljenih tipov na ravni definicije, ampak se to zgodi \xc5\xa1ele pri instanciaciji razreda oziroma klicu metode._NEWLINE_Zgled:_NEWLINE_// Deklaracija generi\xc4\x8dnega razreda - seznama elementov dolo\xc4\x8denega tipa;// Tip elementov v tem trenutku ni znan, razred se lahko pozneje uporabi // kot seznam elementov kateregakoli tipa. N nivoju generi\xc4\x8dne definicije// se na tip elementov sklicujemo s tipskim parametrom T:public class GenericList<T>{_NEWLINE_    void Add(T input) { /* ... */ }}class TestGenericList{_NEWLINE_    private class ExampleClass { }_NEWLINE_    static void Main()_NEWLINE_    {_NEWLINE_        // Deklaracija (in definicija) seznama celih \xc5\xa1tevil tipa int:_NEWLINE_        GenericList<int> list1 = new GenericList<int>();_NEWLINE__NEWLINE_        // Deklaracija seznama nizov:_NEWLINE_        GenericList<string> list2 = new GenericList<string>();_NEWLINE__NEWLINE_        // Deklaracija seznama elementov tipa ExampleClass:_NEWLINE_        GenericList<ExampleClass> list3 = new GenericList<ExampleClass>();_NEWLINE_    }}\n_START_SECTION_\nZgledi\n_START_PARAGRAPH_\nSpodaj je program, ki na konzolo izpi\xc5\xa1e sporo\xc4\x8dilo\xc2\xa0\xc2\xbbpozdravljen, svet!\xc2\xab:_NEWLINE_using System;class Program{_NEWLINE_    static void Main()_NEWLINE_    {_NEWLINE_        Console.WriteLine("Pozdravljen, svet!");_NEWLINE_    }}_NEWLINE_Naslednji program isto sporo\xc4\x8dilo izpi\xc5\xa1e v novem oknu:_NEWLINE_using System.Windows.Forms;class Program{_NEWLINE_    static void Main()_NEWLINE_    {_NEWLINE_        MessageBox.Show("Pozdravljen, svet!");_NEWLINE_    }}'