Ciszre

  • általánosítás
  • vegyes stílusok
  • névtelen módszerek
  • iterátorokat
  • null típusok
  • Hallgatólagosan tipizálható lokális változók
  • Inicializáló objektumok és gyűjtemények
  • Automatikus végrehajtása tulajdonságok
  • névtelen típusok
  • kiterjesztése módszerek
  • kérelmek
  • lambda kifejezések
  • kifejezést fák
  • dinamikus kötés
  • Nevezett és választható érvek
  • Generalizált kovariancia és contravariance
  • TPL könyvtár fogalma és feladatai Task osztály
  • osztály MemoryCache
  • sablon TAP
  • Aszinkron módszerek aszinkron és megvárja
  • További információt a hívó objektum
  • A fordító mint szolgáltatás
  • Importálja statikus tag típus egy névtérben
  • kizáró szűrők
  • várják blokkokban fogni / végül
  • inicializáló autoprops
  • Az alapértelmezett értékek get -properties
  • null feltételesen műtét (. és? [])
  • interpoláció vonalak
  • üzemeltető nameof
  • kezdőérték szótár
  • Funkciók préseljük kifejezések
  • például a változók ki
  • Mintaegyezés
  • sablonok
  • Sablonok és switch nyilatkozat
  • sorok
  • Kicsomagolás esek
  • helyi funkciók
  • fejlesztések literálok
  • Helyi változók és visszatérési értékek referenciaként
  • A bővítés a lista típusok által visszaadott aszinkron módszer
  • További tagjai az osztály formájában kifejezések
  • throw kifejezés

1.0 verzió

Az első változat a C # emlékeztető Java 1.4 lehetőségeit, több a bővülő: C # volna ingatlanok (. Keresi a kódot, mint a mező az objektum, de valójában okozhat a rájuk hivatkozó osztály módszerek), indexers (hasonló tulajdonságú, de tart egy paraméter index array) eseményeket. küldöttek. ciklusok foreach. szerkezetét. által elfogadott érték, automatikus átalakítása a beépített típusok objektumokban, ha szükséges (ökölvívás), attribútumok, beépített interakció menedzselt kód (DLL. com), és így tovább.

Továbbá, a C #, úgy döntöttek, hogy át néhány jellemzője C ++, Java hiányzik: előjel nélküli típusok, operátor túlterhelés (bizonyos korlátozásokkal ellentétben C ++), az átviteli paraméterek a link módszer. módszerek egy változó számú paramétert, az üzemeltető Goto (megkötésekkel). Szintén C # hagyott egy korlátozott munkaképesség mutatókkal - a kód helyeken külön jelöléssel nem biztonságos, és szó megadásával egy speciális fordító opciót.

2.0 verzió

3.0 verzió

Új funkciók a 3.0-s verzió

C # 3.0 vezeti be a következő csoport kiegészítéseket a nyelvet:

  • kulcsszavak kijelölhet adott. lehetővé teszi a lekérdezéseket az XML dokumentumok, gyűjtemények és így tovább .. Ezek a kérdések hasonlóak az SQL lekérdezések és végrehajtani LINQ komponens. (Az igen kifejezés «nyelv integrált lekérdezés» lefordítva „lekérdezés integrálva a nyelvet.”)
  • Inicializálása az objektum együtt tulajdonságai:

Ez felírható

Most már írhatjuk

  • expresszió fák:
Lambda kifejezések most bemutatott formájában adatstruktúra hozzáférhetővé, hogy megkerülje a run-time, lehetővé téve ezáltal a sugárzott erősen típusos C # -vyrazheniya más tartományok (például az SQL kifejezés).
  • A következtetés az, helyi változó típusok: var x = „hello”; helyett karakterlánc x = "hello";
  • Névtelen típusok: var x = new ;
  • Extension-módszerek - egy új eljárás egy meglévő osztályban a ez a kulcsszó az első paraméter a statikus funkciót.
  • Automatikus tulajdonságok: a fordító generál egy zárt (magán) mezőbe, és a megfelelő elérési és mutációt előidéző ​​fajok kód

C # 3.0 kompatibilis C # 2.0 A generált MSIL-kódot; javítását nyelven - tisztán szintaktikai és végrehajtott fordításkor. Például sok integrált LINQ lekérdezések végezhetők el anonim küldöttek együtt módszerek állítmány az konténerek és hasonlók List.FindAll List.RemoveAll.

4.0

Új funkciók a 4.0 verzió [16]
  • Az a képesség, hogy használja a késői kötés, a:
    • nyelvekkel dinamikusan típusos (Python. Ruby)
    • COM-objektumok
    • visszaverődés (reflexió)
    • tárgyak változó szerkezetű (DOM). Kulcsszó jelennek dinamikus.
  • Nevezett és választható paraméterek
  • Új funkciók COM-integrációs
  • Kovariáns és kontravariáns generikus interfészek és küldöttek
  • Szerződések a kód (Code Contracts)
  • TPL TPL (Task Parallel Library), a koncepció a feladatok és osztályok feladat. TaskFactory. párhuzamos
  • Osztályra MemoryCache. amelynek célja a tartalom cache-t. Ez hasonló egy osztály gyorsítótár ASP.NET, de lehet használni, ha írásban VEB / grafikus / konzolos alkalmazások.

5.0 verzió

Új funkciók a 5.0-s verzió

  • Lyuksablon (feladat-alapú aszinkron minta). TAP használ az egyik módszer képviseli az inicializálás és befejezését egy aszinkron művelet.
  • Aszinkron módszerek (aszinkron és megvárja) -, mint egy megvalósítása Lyuksablon.

6.0 verzió

Új funkciók a 6.0 verzió

  • null feltételesen műtét (. és? [])
  • Funkciók préseljük kifejezések (expresszió-törzsű függvények)
  • inicializáló tulajdonságok
  • inicializáló indexek
  • interpoláció vonalak
  • kizáró szűrők
  • Import statikus függvény az osztály
  • üzemeltető nameof
  • várnak belsejében fogás blokkokat, és végül

7.0 verzió

Új funkciók a 7.0-ás verzió [13]

  • ki például a változók, amelyek lehetővé teszik haladéktalanul köteles változókat eljárás hívás (és láthatóságának terület kültéri egység az ilyen változók):
  • Mintaegyezés. Bemutatjuk a koncepció egy sablon (minta), amely lehetővé teszi a szintaxis változó megfelelő ellenőrzés meghatározott alaki és kivonat információkat szerezzünk.
  • Sablonok (van már fel lehet használni nem csak a típus, de a minta - mint a jobb érv)
  • Sablonok és a véleménynyilvánítás kapcsolót. Változatok egy kapcsoló bővült, akkor most:
    • bármilyen típusú (nem csak a primitív);
    • sablonokat használja abban az esetben kifejezést;
    • hozzá további feltételeket a kifejezések esetében (a kulcsszó mikor).
  • Sorok. Egy új típusú érték tuple szintaxis és a munka az ilyen típusú adatok:
  • tuple kicsomagolás. deconstructor új szintaxis struktúrát adunk hozzá. lehetővé teszi, hogy kivonat egy tuple álló tagjai az osztály.
  • Helyi funkciók. Most az a funkciója, amelyet csak a test egy módszer lehet nyilvánítani közvetlenül a szervezetben ezt a módszert.
  • Fejlesztések literálok. bináris literál és a határoló karakter adtak (_) a numerikus literálok.
  • Helyi változók és visszatérési értékek referenciaként. ref kulcsszó bővített funkciókkal. Most már vissza adatokat módszer, vagy mentse őket egy helyi változót referencia.
  • A bővítés a lista típusok által visszaadott aszinkron módszer
  • További tagjai az osztály formájában kifejezéseket. Szintaxis funkciók préseljük expresszióját (expressziós-törzsű függvények) már alkalmazandó alkotóinak, getter, konstruktorok és a destruktor.
  • -vyrazheniya dobja. Most már használhatja dobja a tömörítési funkciót kifejezés (kifejezés testű funkciók):

Példa «Helló, világ!»

Itt a kód a klasszikus programok «Helló világ» C # a konzol alkalmazás:

Kapcsolódó cikkek