Использование кортежей (Tuple) в качестве параметров: Create or new? - C#

Узнай цену своей работы

Формулировка задачи:

Всем привет! Относительно недавно начал изучать азы С#, дойдя до кортежей столкнулся с дилеммой на которую не смог найти вразумительного ответа. Помогите разобраться... При передаче в качестве параметров методу или возвращаемого значения, кортежей менее 8-ми переменных проблем нет, можно использовать как Tuple.Create() (без явного указания типов) так и new Tuple<T1, T2, ...>, но при добавлении 8-мой переменной типа Tuple использование Tuple.Create приводит к ошибке:
Error CS1503 Argument 1: cannot convert from 'System.Tuple<int, int, int, int, int, int, int, System.Tuple<System.Tuple<int, int>>>' to 'System.Tuple<int, int, int, int, int, int, int, System.Tuple<int, int>>'
...
    var tup = Tuple.Create(8, 9);
    var tup2 = Tuple.Create(1, 2, 3, 4, 5, 6, 7, tup);
 
    Func(tup2);
 }
 static void Func (Tuple<int, int, int, int, int, int, int, Tuple<int, int>> buf)
 {
 
 }
Использование 'new Tuple' решает конечно проблему, но все таки хотелось бы разобраться, возможно ли использовать 'Tuple.Create' при передаче/возврате кортежей, содержащих более 7-ми переменных. Ведь именно для больших кортежей трудозатратно объявлять все типы.

Решение задачи: «Использование кортежей (Tuple) в качестве параметров: Create or new?»

textual
Листинг программы
Tuple<T1,T2,T3,T4,T5,T6,T7,Tuple<T8>>

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4.333 из 5
Похожие ответы