Массивы комбинируют объекты одного типа, а кортежи (tuple) могут комбинировать объекты различных типов. Понятие кортежей происходит из языков функционального программирования, таких как F#, где они часто используются. С появлением .NET 4 кортежи стали доступны в .NET Framework для всех языков .NET. В .NET 4 определены восемь обобщенных классов Tuple и один статический класс Tuple, который служит фабрикой кортежей. Существуют различные обобщенные классы Tuple для поддержки различного количества элементов; например, Tuple<T1> содержит один элемент, Tuple<T1, Т2> — два элемента и т.д. Элементы кортежа могут быть доступны через свойства Item1, Item2 ... . В случае если имеется более восьми элементов, которые нужно включить в кортеж, можно использовать определение класса Tuple с восемью параметрами. Последний параметр называется TRest, в котором должен передаваться сам кортеж. Таким образом, есть возможность создавать кортежи с любым количеством параметров. Давайте рассмотрим пример использования кортежей: using System; namespace ConsoleApplication1 return Tuple.Create<int, float, string, char>(sqr, sqrt, s, ch); static void Main(string[] args) // Создаем кортеж произвольной размерности } public class Tuple<T1,T2,T3,T4,T5,T6,T7,TRest> |