К сожалению, в конструкторах C# не нужно вводить тип вывода. Таким образом, вы не можете писать:
Tuple<int, int> xxx = new Tuple(1, 2);
в то время как методы сделать это:
Tuple<int, int> xxx = Tuple.Create(1, 2);
для использования конструкторами вам нужно:
Tuple<int, int> xxx = new Tuple<int, int>(1, 2);
Это более многословным.
Обратите внимание, что если определение типа не работает для вас (потому что вы хотите кортеж другого типа, чем параметры вы проходящие):
Tuple<object, object> xxx = Tuple.Create("A", "B"); // Invalid
, то они эквивалентны за многословие:
Tuple<object, object> xxx = Tuple.Create<object, object>("A", "B");
Tuple<object, object> xxx = new Tuple<object, object>("A", "B");
Tuple<object, object> xxx = Tuple.Create((object)"A", (object)"B");
Привет @ shev72, проверьте эту ссылку http: // stackoverflow.com/questions/3089706/what-require-was-the-tuple-designed-to-solve – Vikrant
Лучшим вариантом для проверки отличий в производительности является бенчмаркинг. –