Ohjelmointi

Kuinka työskennellä Tuplen kanssa C #: ssä

Tuplit eivät ole mitään uutta - ne ovat olleet käytössä jo jonkin aikaa ohjelmointikielillä, kuten F #, Python, jne., Ja myös tietokannoissa. Tuple voidaan määritellä tietorakenteeksi, joka koostuu järjestetystä, rajallisesta sekvenssistä muuttumattomia, heterogeenisiä elementtejä, jotka ovat kiinteitä. Tuplen elementit ovat muuttumattomia, ts. Ne koskevat tiettyä tyyppiä. Voit hyödyntää sarjoja palataksesi useita arvoja menetelmästä ja luoda myös yhdistelmäkokoelmia. Voit hyödyntää System.Tuple-luokan staattisia menetelmiä työskennellessäsi .Net-joukossa.

Mikä on Tuple?

Tuple on tietorakenne, joka koostuu järjestetystä, heterogeenisestä "n" -elementtien kokoelmasta - yksikön elementit voivat olla joko samantyyppisiä tai jopa erilaisia. Matematiikassa n-nippu voidaan määritellä jaksoksi tai järjestetyksi "n" -elementtien luetteloksi. On huomattava, että "n" tarkoittaa tässä positiivista kokonaislukua. Lisäksi voi olla vain yksi 0-sekvenssi, ts. Tyhjä sekvenssi.

Tuplen elementtien järjestys määritetään Tuplen luomisen yhteydessä. Tuplen kaikki ominaisuudet ovat vain luettavissa, ts. Niitä ei voi muuttaa, kun ne on luotu. Tuplen koko on kiinteä, koska sitä ei voi muuttaa, kun se on määritelty Tuplen luomisajankohtana.

Miksi meidän tulisi käyttää Tuplea?

Voit haluta käyttää tuplaa edustamaan heterogeenisiä tietoja ja tarjoamaan helpon tavan käyttää näitä tietoja. Voit myös hyödyntää sekoitetta palauttaaksesi useita arvoja menetelmästä tai jopa siirtää useita arvoja menetelmälle. Yhdistän useita arvoja (jos ne eivät liity toisiinsa) yhdeksi sanaksi tarvetta käyttää mukautettua luokkaa. Huomaa, että vaikka nimettömillä tyypeillä on monia yhteisiä piirteitä, et voi palauttaa nimetöntä tyyppiä menetelmästä.

Yksi suurimmista rajoituksista tupakoiden käytössä tässä tapauksessa on, että Tuplessa ei voi olla merkityksellisiä nimiä ominaisuuksille - ne nimetään nimikkeiksi Kohde1, Kohde2, Kohde3 ja niin edelleen. Tuplea käyttävän koodisi kasvaessa siitä tulee kuitenkin lukukelvoton ja vaikea ylläpitää ajan myötä. On myös huomattava, että Tuple on luokka eikä rakenne. Siksi Tuplen esiintymät tallennetaan aina hallittuun kasaan. Tästä voi tulla jopa suorituskykyhaaste sinulle, jos Tuplen esiintymät ovat kooltaan suuria eikä niitä puhdisteta järkevästi. Tässä on mielenkiintoinen luku Tuplesta MSDN: ssä.

Tuplien ohjelmointi C #: ssa

Jotta voisit työskennellä C #: n kanssa, sinun on käytettävä Tuple-luokkaa. Tuple-luokka on luonteeltaan staattinen ja koostuu staattisesta Luo-menetelmästä, jota voidaan käyttää kaksinkertaisen esiintymän luomiseen. Tuple-luokan staattinen Create-menetelmä sisältää muuten kahdeksan ylikuormitusta, jotka hyväksyvät yleiset argumentit. Tässä on luettelo tämän luokan ylikuormitetuista Luo-menetelmistä.

Tuple.Luo

Tuple.Luo

Tuple.Luo

Tuple.Luo

Tuple.Luo

Tuple.Luo

Tuple.Luo

Tuple.Luo

Seuraava koodinpätkä osoittaa, kuinka voit luoda ja alustaa Tuplen.

var listEmployee = uusi luettelo

{

Tuple.Create (1, "Joydip Kanjilal", "Intia"),

Tuple.Create (2, "Michael Stevens", "USA"),

Tuple.Create (3, "Steve Barnes", "USA")

};

Kun Tuple on luotu ja alustettu, voit toistaa sen paljon samalla tavalla kuin kokoelmallasi. Seuraava koodinpätkä osoittaa, miten tämä voidaan saavuttaa.

foreach (Tuple tuple listEmployee)

           {

Console.WriteLine (tuple.Item2);

           }

Ja tässä on täydellinen koodiluettelo, joka kuvaa, kuinka voit luoda, alustaa ja sitten toistaa Tuplen C #: ssä.

staattinen void Main (merkkijono [] args)

       {

var listEmployee = uusi luettelo

           {

Tuple.Create (1, "Joydip Kanjilal", "Intia"),

Tuple.Create (2, "Michael Stevens", "USA"),

Tuple.Create (3, "Steve Barnes", "USA")

           };

foreach (Tuple tuple listEmployee)

           {

Console.WriteLine (tuple.Item2);

           }

Konsoli.Lue ();

       }

Voit myös luoda sisäkkäisen dupleksin. Seuraava koodinpätkä kuvaa, miten voit tehdä tämän.

var tuple = Tuple.Create (1, "Joydip Kanjilal", uusi Tuple ("Hyderabad", "Intia"));

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