Приветствую всех, сегодня поговорим о Кортежах Tuple который представляет один из дженерик классов.
Как создать экземпляр Tuple ?
Приведенные примеры ниже позволяют создать экземпляр классы уже со значениями:
1 2 3 |
var tuple = new Tuple<int, string>(123, "nookery.ru"); // Конструктор Tuple<int, string> tuple2 = Tuple.Create(123, "nookery.ru"); // Статический метод var tuple3 = Tuple.Create(123, "nookery.ru"); // Сокращенный вариант использования метода |
Обращение к значения происходит с помощью свойства Item:
1 2 |
Console.WriteLine(tuple.Item1); // 123 Console.WriteLine(tuple2.Item2); // nookery.ru |
Где применяются Кортежи?
Кортежи используют в качестве параметров в методе, но чаще всего его предназначение возвращаемый результат метода когда вернуть надо 2 и более значений. Важной особенностью Кортежей является то что они могут принимать большое количество значений и соответственно возвращать, благодаря генерации кода.
Пример возвращения трех значений из метода:
1 2 3 4 5 6 7 8 9 10 11 |
static void Main() { Console.WriteLine(GetValues()); Console.Read(); } private static Tuple<int,int,int> GetValues() { var result = Tuple.Create (1, 2, 3); return result; } |
По аналогии в метод можно расширить или уменьшить, в зависимости от потребностей.