Programovanie

Ako pracovať s Tuple v C #

Tice nie sú žiadnou novinkou - existujú už pomerne dlho v programovacích jazykoch ako F #, Python atď. A tiež v databázach. Tuple možno definovať ako dátovú štruktúru, ktorá pozostáva z usporiadanej, konečnej postupnosti nemenných, heterogénnych prvkov, ktoré majú pevnú veľkosť. Prvky v n-tici sú nemenné, to znamená, že sa týkajú konkrétneho typu. Môžete použiť n-tice na vrátenie viacerých hodnôt z metódy a tiež na vytvorenie zložených kolekcií. Na prácu s n-ticami v .Net môžete využiť statické metódy triedy System.Tuple.

Čo je to Tuple?

Tuple je dátová štruktúra, ktorá pozostáva z usporiadanej, heterogénnej zbierky prvkov „n“ - prvky v n-tici môžu byť buď rovnakého typu, alebo dokonca môžu byť rozdielnych typov. V matematike môže byť n-tica definovaná ako postupnosť alebo ako usporiadaný zoznam prvkov „n“. Je potrebné poznamenať, že „n“ tu označuje celé kladné číslo. Ďalej môže existovať iba jedna n-tica, t. J. Prázdna sekvencia.

Poradie prvkov v n-tici je definované v čase, keď je n-tica vytvorená. Vlastnosti v n-tici sú iba na čítanie, t. J. Po vytvorení ich už nie je možné zmeniť. Veľkosť n-tice je pevná, pretože ju nemožno zmeniť, akonáhle je definovaná v čase vytvárania n-tice.

Prečo by sme mali používať Tuples?

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. Môžete tiež využiť n-ticu na vrátenie viacerých hodnôt z metódy alebo dokonca odovzdanie viacerých hodnôt metóde. Používam n-ticu na kombinovanie viacerých hodnôt (ak navzájom nesúvisia) do jednej bez potreby použitia vlastnej triedy. Upozorňujeme, že aj keď majú anonymné typy veľa spoločného, ​​anonymný typ z metódy nemôžete vrátiť.

Jednou z hlavných obmedzení používania n-tíc v tomto prípade je to, že nemôžete mať zmysluplné názvy vlastností v n-tici - pomenovali by sa ako Item1, Item2, Item3 atď. S pribúdajúcim kódom, ktorý používa Tuple, by sa to však časom stalo nečitateľným a ťažko udržiavateľným. Je tiež potrebné poznamenať, že Tuple je trieda, a nie štruktúra. Preto sú inštancie Tuple vždy uložené v spravovanej halde. To sa pre vás môže dokonca stať výzvou pre výkon, ak sú inštancie Tuple veľké a nie sú vyčistené uvážlivo. Tu je zaujímavé čítanie o Tuple na MSDN.

Programovanie n-tíc v C #

Ak chcete pracovať s n-ticami v C #, musíte využiť triedu Tuple. Trieda Tuple má statickú povahu a pozostáva zo statickej metódy Create, ktorá sa dá použiť na vytvorenie inštancie n-tice. Mimochodom, statická metóda Create triedy Tuple obsahuje osem preťažení, ktoré prijímajú všeobecné argumenty. Tu je zoznam preťažených metód vytvárania tejto triedy.

Tuple. Vytvoriť

Tuple. Vytvoriť

Tuple. Vytvoriť

Tuple. Vytvoriť

Tuple. Vytvoriť

Tuple. Vytvoriť

Tuple. Vytvoriť

Tuple. Vytvoriť

Nasledujúci úryvok kódu ukazuje, ako môžete vytvoriť a inicializovať Tuple.

var listEmployee = nový zoznam

{

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

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

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

};

Keď je vaša n-tica vytvorená a inicializovaná, môžete ju iterovať rovnakým spôsobom ako v prípade kolekcie. Nasledujúci úryvok kódu ukazuje, ako je to možné dosiahnuť.

foreach (Tuple n-tice v zozname Zamestnanec)

           {

Console.WriteLine (tuple.Item2);

           }

A tu je kompletný zoznam kódov, ktorý ilustruje, ako môžete vytvoriť, inicializovať a potom iterovať Tuple v C #.

static void Main (reťazec [] args)

       {

var listEmployee = nový zoznam

           {

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

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

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

           };

foreach (Tuple n-tice v zozname Zamestnanec)

           {

Console.WriteLine (tuple.Item2);

           }

Console.Read ();

       }

Môžete tiež vytvoriť vnorenú n-ticu. Nasledujúci úryvok kódu ilustruje, ako to môžete urobiť.

var tuple = Tuple.Create (1, "Joydip Kanjilal", nový Tuple ("Hyderabad", "India"));