Programování

Nové funkce v C # 7

C # 7 přidává mnoho nových funkcí se zvláštním zaměřením na jednoduchost kódování a vylepšený výkon. Poskytuje velké zaměření na spotřebu dat, zjednodušení kódu a výkon a je navržen tak, aby eliminoval potřebu psát další kód více způsoby než jedním.

Zde je rychlý pohled na to, co je nového a vylepšeného v C # 7.

  • Podpora místních funkcí
  • Vylepšená podpora pro typy n-tice
  • Typy záznamů
  • Shoda vzoru
  • Non Nullable referenční typy
  • Neměnné typy
  • Lepší podpora pro out proměnné

Lepší podpora pro out proměnné

Schopnost deklarovat out proměnnou přímo v místě použití je skvělá nová funkce v C # 7. Zde je ukázkový fragment kódu, který to ilustruje.

public void Save (Produkt p)

{

p.SaveData (out int x);

// Obvyklý kód

}

Dobré místo pro použití proměnné je uvnitř vašeho bloku try. Stačí použít booleovskou proměnnou, kde návratový typ true označuje, že operace je úspěšná, jinak false.

Shoda vzoru

C # 7 poskytuje vynikající podporu pro porovnávání vzorů. Shodování vzorů můžete použít na jakýkoli datový typ, dokonce i na vlastní datové typy. Kromě toho můžete využít výhod porovnávání vzorů k extrahování hodnot z výrazu. Zde je fragment kódu, který ilustruje shodu vzorů v práci!

object obj = "Toto je ukázka shody vzorů v C # 7";

if (obj je řetězec str)

{

Console.WriteLine (str);

}

Podpora pro místní funkce

Možná budete často potřebovat pomocnou funkci, kterou je třeba použít pouze jednou - možná jen v jedné metodě. Nyní můžete deklarovat takové funkce uvnitř jiné funkce. Takové funkce jsou známé jako místní funkce. V podstatě podpora místních funkcí umožňuje deklarovat metody uvnitř rozsahu bloku. I když skutečnost, že to bylo možné pomocí typů Func a Action s anonymními metodami v dřívějších verzích jazyka C #, bylo několik výzev. Nepodporovali obecné parametry, parametry a parametry ref a out.

Lepší podpora pro Tuples

Tuple je dočasné seskupení hodnot. Je to podobné třídě POCO, ale takové, která se vytváří za běhu. Hlavní výhodou použití Tuple je povolení metody k návratu více hodnot. Možná budete chtít použít n-tici k reprezentaci sady heterogenních dat a poskytnout snadný způsob přístupu k těmto datům. N-tice nejsou nic nového a jsou tu už nějakou dobu. Máte podporu pro n-tice v programovacích jazycích F # a Python. Výhodou n-tice můžete uložit uspořádanou konečnou posloupnost neměnných konečných posloupností homogenních nebo heterogenních dat pevné velikosti.

Nyní máte podporu také pro Tuplovy literály a Tuplovu dekonstrukci. V C # 7 je n-tice považována za typ hodnoty. Jedná se tedy o proměnlivý typ a mnohem efektivnější, pokud jde o výkon.

Non-nullable referenční typy

Typy hodnot s možnou hodnotou Null byly poprvé představeny v C # 2.0. Non-nullable referenční typ je přesně opakem této funkce. V zásadě se referenční typ, který nemá hodnotu Null, používá k označení referenčního typu, u kterého je zaručeno, že nebude mít hodnotu null. Tady je způsob, jakým je v C # 7 deklarován referenční typ, který nemá povolenou hodnotu:

tětiva! str; // Toto je referenční typ bez hodnoty Null

Lepší podpora pro Neměnné objekty

Neměnný objekt je ten, jehož stav nelze po vytvoření změnit. Díky tomu je vlákno neměnného objektu bezpečné. Předpokládejme, že vytvoříte třídu, která obsahuje vlastnost, která má getr, ale žádný setter. Zdá se, že ano, zdá se, že instance třídy je neměnná. Avšak později, pokud někdo přidá setr pro stejnou vlastnost, nezměnitelnost je ztracena, že?

Přesně tady přichází na pomoc lepší podpora neměnných typů. S C # 7 můžete vytvořit novou instanci založenou na jiné instanci. Tady je možné toho dosáhnout.

var firstObject = nový zaměstnanec (101);

var secondObject = firstObject s {EmployeeId = 102};

Typy záznamů

Typy záznamů umožňují vytvořit typ pouze pomocí vlastností. V podstatě je typ záznamu datový typ, který obsahuje pouze vlastnosti. Následující fragment kódu ukazuje, jak lze deklarovat typ záznamu.

třída Obdélník (int Výška, int Šířka);

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