C# (C Sharp) — moderni .NET-ohjelmointikieli: määritelmä ja historia

C#: moderni .NET-ohjelmointikieli — määritelmä, kehitys ja historia vuodesta 2001. Lue C#:n ominaisuudet, versiot (C# 8.0) ja Anders Hejlsbergin rooli.

Tekijä: Leandro Alegsa

C# (lausutaan "see sharp") on yleiskäyttöinen, moderni ja tyypitetty tietokoneohjelmointikieli, joka on suunniteltu erityisesti .NET-alustaa varten. Kielen kehitti Microsoft, ja sitä johtaa Anders Hejlsberg. C# on tarkoitettu kirjoittamaan turvallista ja tehokasta hallittua (managed) koodia: se kääntyy .NETin välikoodiksi (IL), jota .NET-toteutus suorittaa JIT- tai AOT-käännöksen avulla. Kieli tukee olio-ohjelmointia, geneerisiä tyyppejä, tapahtumia, delegaatteja sekä laajaa standardikirjastoa, ja sitä käytetään laajasti esimerkiksi työpöytä-, web-, mobiili-, pilvi- ja pelikehityksessä (mm. Unity).

Lyhyt historia ja versiot

C# syntyi 2000-luvun alussa Microsoftissa osana .NET-hanketta. Ensimmäiset standardisoinnit tehtiin ECMA:ssa ja myöhemmin ISO:ssa. Kielen kehitys on ollut aktiivista: joka vuosi tai parin välein on julkaistu uusia versiota, jotka ovat tuoneet merkittäviä kieliominaisuuksia ja suorituskykyparannuksia.

  • Varhaiset versiot: C# 1.0 ja 2.0 toivat perusominaisuudet ja generics-tuen.
  • LINQ ja funktionaaliset piirteet: C# 3.0 lisäsi LINQ:n ja lauseke-pohjaisen ohjelmoinnin helppouden.
  • Dynaaminen ja asynkroninen ohjelmointi: C# 4.0 toi dynaamisen tyypityksen ja C# 5.0 asynkronisuuden (async/await).
  • Modernit parannukset: C# 8.0 (2019) toi muun muassa nullable reference -tuen ja async streams. Seuraavissa versioissa (C# 9–11) ovat tulleet mm. record-tyypit, top-level statements, source generators, pattern matchingin laajennukset ja muita syntaktisia sekä suorituskykyyn liittyviä parannuksia.
  • Ajantasainen versio: Kielen kehitys jatkuu aktiivisesti; uusin vakaa julkaisu on C# 12 (osa .NET 8 -kokonaisuutta, julkaistu 2023), joka jatkaa kielen yksinkertaistamista, suoritustehon parantamista ja kielen laajentamista moderneihin ohjelmointitarpeisiin.

Keskeisiä piirteitä

  • Staattinen tyypitys: virheet havaitaan usein jo käännösaikana, mikä parantaa luotettavuutta.
  • Olion suuntautuneisuus: luokat, rajapinnat, perintä ja kapselointi.
  • Geneerisyys (generics): tyypin turvallisuus ilman suorituskykyhäviötä.
  • LINQ: kielen sisäinen tuki tietokanta- ja kokoelmahauille sekä transformaatioille.
  • Async/await: helppo asynkroninen ohjelmointi ilman monimutkaisia callback-rakenteita.
  • Nullable reference types: apuväline nollaviitteiden (null) aiheuttamien virheiden vähentämiseen.
  • Records ja immutability: helpottavat arvo- ja data-luokkien käsittelyä.
  • Suorituskykyominaisuudet: Span, stackalloc, ja muut optimoinnit suorituksen parantamiseksi.
  • Hyvä työkalu- ja ekosysteemi: Roslyn-kääntäjä (avoin lähdekoodi), Visual Studio, Visual Studio Code -laajennukset ja laaja kirjasto- ja paketointituki (NuGet).

Käyttökohteet

C# on monipuolinen: sitä käytetään

  • web-kehitykseen (ASP.NET Core, Blazor),
  • työpöytäsovelluksiin (WinForms, WPF),
  • mobiilisovelluksiin (Xamarin, .NET MAUI),
  • peli- ja reaaliaikaiseen grafiikkaan (Unity),
  • pilvipalveluihin ja mikro\-palveluarkkitehtuureihin (Azure, Docker),
  • ja sulautettuihin järjestelmiin tai IoT-ratkaisuihin.

Yhteenveto

C# on moderni, jatkuvasti kehittyvä ohjelmointikieli, joka yhdistää turvallisen staattisen tyypityksen, korkean abstraktion tason ja suorituskykyominaisuuksia. Se on tiiviisti integroitu .NET-ekosysteemiin ja tarjoaa vahvat työkalut sekä laajan kirjastovalikoiman monenlaisiin sovellusalueisiin. Kielen kehitys jatkuu aktiivisena, ja uudet versiot tuovat säännöllisesti sekä syntaktisia että suorituskykyyn liittyviä parannuksia.

 

Suoritusalusta

Nykyään C#-kieltä voidaan käyttää useimmilla alustoilla (Windows, Linux jne.) muuttamatta lähdekoodia. C#:ta voidaan käyttää Xbox 360 -alustalla erityisen kehyksen avulla.

 

Syntaksi

C#-koodi on samanlaista kuin C++- ja Java-koodi. C#-ohjelman suorittamiseen tarvitaan CLR (Common Language Runtime).

"Hello, World!" esimerkki

/* Tämä on yksinkertainen ohjelma C#-kielellä.   * Se näyttää yksinkertaisesti "Hello, World!" ruudulla.  */ using System; namespace HelloWorld { class Hello { static void Main() { Console. WriteLine("Hello, World!"); // Alla oleva koodinpätkä on valinnainen, mutta sitä tarvitaan, jotta ohjelma ei sulkeutuisi heti.              Console. WriteLine("Paina mitä tahansa näppäintä poistuaksesi."); Console. ReadKey(); }   }  }

Perussyöttöesimerkki

/* * Tämä ohjelma pyytää käyttäjältä syötettä eli nimeä. Sen jälkeen se tulostaa "Hello [nimi]", korvaten [nimi] sillä, mitä henkilö kirjoitti.  */ using System; namespace HelloWorld { class Hello { static void Main() { Console. WriteLine("Hei, kirjoita nimesi:"); string name = Console. ReadLine(); Console. WriteLine("Hello {0}",name); Console. ReadKey(); }   }  }
 

Integroidut kehitysympäristöt

C#-kieltä voidaan muokata useissa IDE-ohjelmissa (Integrated Development Environments), joista osa on lueteltu alla:

Windows:

  • Microsoft Visual Studio
  • SharpDevelop
  • Visual C#
  • Visual C# Express

Mac OS X:

  • MonoDevelop (rajoituksin)

Unix/Linux:

  • MonoDevelop
 

Aiheeseen liittyvät sivut

 

Kysymyksiä ja vastauksia

K: Mikä on C#?



V: C# on Microsoftin kehittämä tietokoneohjelmointikieli.

K: Milloin C#:n ensimmäinen versio julkaistiin?



V: C#:n ensimmäinen versio julkaistiin vuonna 2001.

K: Mikä on C#:n uusin versio?



V: C#:n uusin versio on C# 8.0, joka julkaistiin syyskuussa 2019.

K: Mikä on C#:n tarkoitus?



V: C# luotiin käyttämään kaikkia .NET-alustan valmiuksia.

K: Kuka johtaa C#:n kehitystiimiä?



V: Anders Hejlsberg, Delphin luoja, johtaa C#:n kehitystiimiä.

K: Minkä tyyppinen kieli C# on?



V: C# on moderni kieli.

K: Kuka kehitti C#-kielen?



V: C#-kielen kehitti Microsoft.


Etsiä
AlegsaOnline.com - 2020 / 2025 - License CC3