Uzziniet, kā gaidāmās izmaiņas uzlabos jūsu kodu un padarīs jūsu kā izstrādātāja dzīvi nedaudz vienkāršāku.

Sīkāka informācija par ļoti gaidīto C# 12 priekšskatījumu ir noplūdusi, sniedzot nelielu ieskatu gaidāmajās funkcijās, kurām vajadzētu mainīt valodu. Šīs funkcijas sniedz lielu solījumu uzlabot koda lasāmību, optimizēt veiktspēju un atbloķēt valodas uzlabotās iespējas.

Uzlabotas slēdžu izteiksmes

Ieviests C#8 pamata slēdžu izteiksmes kas ļauj izteikt sarežģītu nosacījumu loģiku kodolīgi, lasāmā formā. C# 12 to paplašina, ieviešot jaunu parauga atbilstības sintaksi slēdžu izteiksmēm, padarot vēl vienkāršāku izteiksmīga un kodolīga koda rakstīšanu.

Apsveriet šādu koda fragmentu.

var rezultāts = obj slēdzis
{
starpt i kad es > 0 => "Pozitīvs",
starpt i kad es < 0 => "Negatīvs",
_ => "Nulle"
};

Šis kods izmanto slēdža izteiksmes, lai noteiktu, vai ir vesels skaitlis pozitīvs, negatīvs, vai nulle. Programmā C# 12 varat vēl vairāk vienkāršot šo kodu, izmantojot jauno parauga atbilstības sintaksi:

instagram viewer
var rezultāts = obj slēdzis
{
> 0 => "Pozitīvs",
< 0 => "Negatīvs",
_ => "Nulle"
};

Šī sintakse ļauj izlaist kad atslēgvārdu un izmantojiet relāciju operatorus tieši slēdža izteiksmē.

Klašu un konstrukciju galvenie konstruktori

Tagad varat izveidot galvenos konstruktorus jebkurā klasē vai struct (vieglas klases alternatīva). Izmantojot primāros konstruktorus, varat pievienot parametrus klases deklarācijai un izmantot šīs vērtības klases pamattekstā.

C#9 ieviesa primāros konstruktorus kā daļu no ierakstu pozicionālās sintakses. C# 12 paplašina tos uz visām struktūrām un klasēm.

Jūs varat ievietot parametrus aiz tipa nosaukuma iekavās, kā parādīts tālāk:

publiski klasē Students(starpt id, stīga vārds, IEskaitāms<decimālzīme> atzīmes)
{
publiskiStudents(starpt id, stīga nosaukums): šis(id, vārds, uzskaitāms. Tukšs<decimālzīme>()) { }
publiskistarpt Id => id;
publiskistīga Vārds { gūt; komplekts; } = vārds. Apgriezt ();
publiskidecimālzīme GPA => atzīmes. Kāds()? pakāpes. Vidējais (): 4.0m;
}

Primārā konstruktora parametri ir ietverti visā deklarējošā tipa korpusā. Varat iestatīt rekvizītus vai laukus vai arī izmantot tos metodēs vai vietējās funkcijās kā mainīgos. Šos parametrus varat norādīt arī bāzes konstruktoram.

Interpolēto stīgu uzlabojumi

Interpolētās virknes pastāv kopš C#6. Programmā C# 12 tagad varat izveidot virkņu dinamiskas vērtības, izmantojot sarežģītas izteiksmes.

starpt i = 5;
stīga izvade = $ "I vērtība ir {i}, un tā kvadrāts ir {i*i}.";
Konsole. WriteLine (izvade);

Šis kods izdrukā "I vērtība ir 5, un tā kvadrāts ir 25".

Papildu veidu direktīvu izmantošana

Izmantojot C# 12, varat izmantot aizstājvārdu direktīvu, lai apzīmētu jebkuru tipu, nevis tikai nosauktos tipus. Varat izveidot semantiskos aizstājvārdus korežām, masīviem, rādītājiem vai citiem nedrošiem veidiem.

Šeit ir daži piemēri:

izmantojot Mērījums = (stīga Vienības, starpt attālums);
izmantojot UnitsInt = starpt?;
Pseidonīmu lietošanas piemērs:
publiskinederīgsAprēķins(Mērījumu mērīšana)
{
// Metodes pamatteksts
}

Lambda izteiksmes uzlabojumi

C# 12 nodrošina lambda izteiksmes, ļaujot definēt parametru noklusējuma vērtības. Sintakse ir identiska citu noklusējuma parametru sintaksei:

Piemēram, (incrementTo = 5) => incrementTo + 1 iestata noklusējuma vērtību 5 parametram incrementTo, ko lambda izsaukums izmantos, ja nenodosit tam vērtību.

var incrementWithDefault = (starpt incrementTo = 5) => incrementTo + 1;
incrementWithDefault(); // 6
incrementWithDefault(9); // 10

Turklāt lambda izteiksmēm tika veikti daudzi citi uzlabojumi, lai padarītu tos efektīvākus.

Piemēram:

  • Tagad lambda funkcijās varat izveidot sarežģītākas izteiksmes.
  • Tagad varat pārveidot lambda izteiksmes izteiksmju kokos, kas vienkāršo sarežģītus vaicājumus un optimizē veiktspēju.

Asinhronās straumes

Varat atkārtot, izmantojot asinhronos datu avotus, izmantojot jauno asinhronās straumes C# 12 iezīme. Šis jaunais iterators —gaidi foreach— palīdz atkārtot asinhrono datu kopu:

gaidītkatram (var lieta iekšāGetItemsAsync())
{
Konsole. WriteLine (vienums.vērtību);
}

C# 12: revolucionārs kods ar aizraujošām jaunām funkcijām

Gaidot C# 12, jūs varat sagaidīt spēli mainošu atjauninājumu ar aizraujošām jaunām funkcijām. Šie sasniegumi, piemēram, uzlabotas slēdžu izteiksmes, primārie konstruktori un lambda izteiksmju uzlabojumi, norāda uz lielu uzsvaru uz koda vienkāršību, elastību un veiktspēju.

C# 12 ir gatavs sniegt ievērojamu lēcienu uz priekšu, ļaujot jums rakstīt izteiksmīgāku, efektīvāku un jaudīgāku kodu.