Základy C# 28 – Typy Tuples (C# 7)

Tuples typy objektov sú objekty kombinujúce viacero údajov bez nutnosti tvorby vlastnej triedy alebo štruktúry.

Tuples (Násobné typy) sa vytvárajú veľmi odlišne od bežných generických objektov. Pred ich použitím musíte do kódu pridať použitie namespaceu System.ValueTuple.

using System.ValueTuple;

Poznámka: Tento typ je automaticky pridaný do projektu v .Net (Core) a .Net Framerwork 4.7, pre jeho použitie v .Net Framework 4.0 je potrebné ručne pridať Reference na tento typ.

Samotné použitie Touple objektov je jednoduché. Deklarácia takejto premennej prebieha zadaním všetkých typov ktoré bude obsahovať. Pristupujete k ním potom ako k vlastnostiam objektov.

(int, string) toupleObjekt = (42, "Číslo");
Console.WriteLine("Prvá položka: " + toupleObjekt.Item1 + "; Druhá položka: " + toupleObjekt.Item2);

Pri deklarácií tuple objektu je možné tiež špecifikovať mená jednotlivých podobjektov. Taká deklarácia touple objektu potom pripomína deklaráciu parametrov metódy.

(int Telefon, string Meno) tupleObjekt = (0123456789, "Osoba");
Console.WriteLine("Telefónne číslo: " + tupleObjekt.Telefon + "" + tupleObjekt.Meno);

Touple je tiež možné deklarovať priamo do nešpecifikovanej premennej var.

var tupleObjekt = (Telefon: 0123456789, Meno: "Osoba);

Tuple objekt môže byť použitý rovnako ako všetky ostatné objekty v C#, takže aj ako výstup funkcie, čo je jeho najčastejšie použitie, je to jednoduchý a efektívny spôsob ako prenášať viacero údajov v jednom objekte bez nutnosti tvoriť množstvo nových tried alebo štruktúr, alebo ich odosielať ako pole neutrálneho typu objekt (čo nemusí vždy byť možné).

Tuple objekty samozrejme dovoľujú ďalšie operácie, no tie nie sú až také podstatné oproti týmto menovaným a tak sa im v tomto článku venovať nebudem. Odporúčam túto funkciu jazyka C# vyskúšať každému, pretože je naozaj veľmi užitočná.

V ďalších článkoch sa skúsim venovať ďalším novým funkciam jazyka C#.

Pridajte Komentár

Vaša e-mailová adresa nebude zverejnená. Vyžadované polia sú označené *

Scroll to Top