Ohjelmointi

C # 7: n uudet ominaisuudet

C # 7 lisää paljon uusia ominaisuuksia keskittyen erityisesti koodauksen yksinkertaisuuteen ja suorituskyvyn parantamiseen. Se keskittyy paljon tiedon kulutukseen, koodin yksinkertaistamiseen ja suorituskykyyn, ja se on suunniteltu poistamaan kipua, joka aiheutuu ylimääräisen koodin kirjoittamisesta useammalla kuin yhdellä tavalla.

Tässä on nopea katsaus C # 7: n uutuuksiin ja parannuksiin.

  • Paikallisten toimintojen tuki
  • Parannettu tuki Tuple-tyypeille
  • Tietuetyypit
  • Kuvion sovitus
  • Ei nollattomat viitetyypit
  • Muuttamattomat tyypit
  • Parempi tuki muuttujille

Parempi tuki muuttujille

Mahdollisuus ilmoittaa muuttuja suoraan käyttöpisteessä on loistava uusi ominaisuus C # 7: ssä. Tässä on esimerkki koodinpätkästä, joka kuvaa tätä.

public void Tallenna (Tuote p)

{

p.SaveData (ulos int x);

// Tavallinen koodi

}

Hyvä paikka käyttää muuttujaa on kokeilulohkosi sisällä. Käytä vain Boolean out -muuttujaa, jos palautustyyppi true osoittaa, että operaatio on onnistunut, muuten väärä.

Kuvion sovitus

C # 7 tarjoaa erinomaisen tuen kuvioiden sovittamiselle. Voit käyttää kaavahakua missä tahansa tietotyypissä, myös mukautetuissa tietotyypeissä. Lisäksi voit hyödyntää kuvion vastaavuutta poimiaksesi arvoja lausekkeesta. Tässä on koodinpätkä, joka kuvaa kuvion vastaavuutta työssä!

object obj = "Tämä on osoitus kuvion yhteensopivuudesta ryhmässä C # 7";

if (obj on merkkijono str)

{

Console.WriteLine (str);

}

Paikallisten toimintojen tuki

Saatat tarvita usein auttajatoimintoa, jota on käytettävä vain kerran - ehkä vain yhdessä menetelmässä. Voit nyt ilmoittaa tällaiset toiminnot toisen toiminnon sisällä. Tällaisia ​​toimintoja kutsutaan paikallisiksi toiminnoiksi. Pohjimmiltaan paikallisten toimintojen tuki antaa sinun ilmoittaa menetelmistä lohkon sisällä. Vaikka se oli mahdollista käyttämällä Func- ja Action-tyyppejä nimettömillä menetelmillä C # -kielen aiemmissa versioissa, haasteita oli kuitenkin vähän. He eivät tue geneerisiä aineita, parametreja sekä viite- ja ulos-parametreja.

Parempi tuki tuplille

Tuple on väliaikainen arvoryhmä. Se on samanlainen kuin POCO-luokka, mutta luodaan lennossa. Tuplen käytön tärkein etu on menetelmä, jolla voidaan palauttaa useita arvoja. Voit haluta käyttää tuplaa edustamaan heterogeenisiä tietoja ja tarjoamaan helpon tavan käyttää näitä tietoja. Tuplit eivät ole mitään uutta, ja ne ovat olleet olemassa jo jonkin aikaa. Sinulla on tuki F #- ja Python-ohjelmointikielten sarjoille. Voit hyödyntää kaksoissarjaa, jotta voit tallentaa kiinteän koon homogeenisen tai heterogeenisen datan muuttumattoman, äärellisen sekvenssin järjestetyn, äärellisen sekvenssin.

Sinulla on nyt myös tuki Tuplen kirjaimille ja Tuplen dekonstruktiolle. C # 7: ssä dupleksi katsotaan arvotyypiksi. Siksi se on muuttuva tyyppi ja paljon tehokkaampi suorituskyvyn suhteen.

Ei-mitätöimättömät viitetyypit

Nollattomat arvotyypit esiteltiin ensimmäisen kerran C # 2.0: ssa. Ei-mitätöimätön viitetyyppi on täsmälleen tämän ominaisuuden päinvastainen. Pohjimmiltaan ei-mitätöimätöntä viitetyyppiä käytetään merkitsemään viitetyyppiä, jonka taataan olevan tyhjä. Näin mitätöimätön viitetyyppi ilmoitetaan luokassa C # 7:

merkkijono! str; // Tämä on ei-mitätöitävä viitetyyppi

Parempi tuki muuttamattomille kohteille

Muuttamaton esine on tila, jonka tilaa ei voida muuttaa, kun se on luotu. Tämä tekee muuttumattomasta objektilangasta turvallisen. Oletetaan, että luot luokan, joka sisältää ominaisuuden, jolla on getter, mutta ei setteriä. Kyllä ilmeisesti näyttää siltä, ​​että luokan esiintymä on muuttumaton. Kuitenkin myöhemmin, jos joku lisää setterin samalle omaisuudelle, muuttumattomuus menetetään, eikö olekin?

Tässä on, missä parempi tuki muuttumattomille tyypeille tulee apuun. C # 7: llä voit luoda uuden ilmentymän toisen ilmentymän perusteella. Näin se voidaan saavuttaa.

var firstObject = uusi työntekijä (101);

var secondObject = firstObject, jossa {EmployeeId = 102};

Tietuetyypit

Tietuetyyppien avulla voit luoda tyypin käyttämällä vain ominaisuuksia. Pohjimmiltaan tietuetyyppi on tietotyyppi, joka koostuu vain ominaisuuksista. Seuraava koodinpätkä kuvaa, kuinka tietuetyyppi voidaan ilmoittaa.

luokan suorakulmio (int korkeus, int leveys);

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