Programovanie

Nové funkcie v C # 7

C # 7 pridáva veľa nových funkcií so zvláštnym zameraním na jednoduchosť kódovania a zvýšený výkon. Poskytuje veľké zameranie na spotrebu dát, zjednodušenie kódu a výkon a je navrhnutý tak, aby eliminoval námahu pri písaní dodatočného kódu viacerými spôsobmi.

Tu je rýchly pohľad na to, čo je nové a vylepšené v C # 7.

  • Podpora miestnych funkcií
  • Vylepšená podpora pre typy Tuple
  • Typy záznamov
  • Zhoda vzorov
  • Referenčné typy, ktoré nemajú povolenú hodnotu Null
  • Nezmeniteľné typy
  • Lepšia podpora pre von premenné

Lepšia podpora pre von premenné

Schopnosť deklarovať výstupnú premennú priamo v okamihu použitia je skvelou novou funkciou v C # 7. Tu je príklad útržku kódu, ktorý to ilustruje.

public void Save (Produkt p)

{

p.SaveData (out int x);

// Obvyklý kód

}

Dobré miesto na použitie premennej je vo vnútri bloku try. Stačí použiť boolovskú premennú, kde návratový typ true znamená, že operácia je úspešná, inak false.

Zhoda vzorov

C # 7 poskytuje vynikajúcu podporu pre porovnávanie vzorov. Priraďovanie vzorov môžete použiť na akýkoľvek typ údajov, dokonca aj na vlastné typy údajov. Okrem toho môžete využiť výhody porovnávania vzorov na extrahovanie hodnôt z výrazu. Tu je útržok kódu, ktorý ilustruje zhodu vzorov v práci!

object obj = "Toto je ukážka zhody vzorov v C # 7";

if (obj je reťazec str)

{

Console.WriteLine (str);

}

Podpora miestnych funkcií

Možno budete často potrebovať pomocnú funkciu, ktorú je možné použiť iba raz - možno iba jednou metódou. Teraz môžete tieto funkcie deklarovať vo vnútri inej funkcie. Takéto funkcie sú známe ako miestne funkcie. Podpora miestnych funkcií vám v podstate umožňuje deklarovať metódy v rámci rozsahu bloku. Aj keď to bolo možné pomocou typov Func a Action s anonymnými metódami v starších verziách jazyka C #, bolo tu niekoľko výziev. Nepodporovali generické parametre, parametre a parametre ref a out.

Lepšia podpora pre Tuples

Tuple je dočasné zoskupenie hodnôt. Je to podobné ako trieda POCO, ale tá, ktorá sa vytvára za behu. Hlavnou výhodou použitia n-tice je povolenie metódy na vrátenie viacerých hodnôt. Možno budete chcieť použiť n-ticu, ktorá predstavuje množinu heterogénnych údajov, a poskytuje jednoduchý spôsob prístupu k týmto údajom. N-tice nie sú žiadnou novinkou a sú tu už pomerne dlho. Máte podporu pre n-tice v programovacích jazykoch F # a Python. Môžete využiť výhodu n-tice na uloženie objednanej konečnej postupnosti nemennej konečnej postupnosti homogénnych alebo heterogénnych údajov pevnej veľkosti.

Teraz máte podporu aj pre Tuplove literály a Tuplovu dekonštrukciu. V C # 7 sa n-tica považuje za typ hodnoty. Preto je to premenlivý typ a oveľa efektívnejšie, čo sa týka výkonu.

Referenčné typy bez povolenej hodnoty

Typy hodnôt s možnou hodnotou Null boli prvýkrát predstavené v C # 2.0. Referenčný typ, ktorý nemá povolenú hodnotu Null, je pravým opakom tejto funkcie. V zásade sa referenčný typ, ktorý nemá hodnotu Null, používa na označenie referenčného typu, ktorý zaručene nebude mať hodnotu null. Tu je ukážka toho, ako je v C # 7 deklarovaný referenčný typ, ktorý nemá povolenú hodnotu Null:

struna! str; // Toto je referenčný typ, ktorý nemá povolenú hodnotu Null

Lepšia podpora pre Nemeniteľné objekty

Nemenný objekt je taký, ktorého stav nie je možné po vytvorení zmeniť. Vďaka tomu je vlákno nemenného objektu bezpečné. Predpokladajme, že vytvoríte triedu, ktorá obsahuje vlastnosť, ktorá má geter, ale nie setter. Áno, zdá sa, zdá sa, že inštancia triedy je nemenná. Avšak v neskoršom okamihu, ak niekto pridá vydavateľa tej istej nehnuteľnosti, nemennosť je stratená, však?

Presne tu prichádza na rad lepšia podpora nemenných typov. S C # 7 môžete vytvoriť novú inštanciu na základe inej inštancie. Toto je možné dosiahnuť týmto spôsobom.

var firstObject = nový zamestnanec (101);

var secondObject = firstObject s {EmployeeId = 102};

Typy záznamov

Typy záznamov vám umožňujú vytvoriť typ iba pomocou vlastností. Typ záznamu je v podstate dátový typ, ktorý obsahuje iba vlastnosti. Nasledujúci úryvok kódu ilustruje, ako je možné deklarovať typ záznamu.

trieda Obdĺžnik (int Výška, int Šírka);

$config[zx-auto] not found$config[zx-overlay] not found