C#元祖Tuple的事例

数组合并了同样类型的对象。而元祖合并了不同类型的对象。元祖起源于函数编程语言(F#)
NET Framework定义了8个泛型Tuple(自NET4.0)和一个静态的Tuple类,他们作用元祖的工厂,
这里的不同泛型Tuple类支持不同数量的元素。比如:Tuple<T1>包括一个元素,Tuple<T1,T2>包括2个元素,依次类推

 

/* 创建者:菜刀居士的博客
 * 创建日期:2014年07月14号
 */

namespace Net.String.ConsoleApplication
{
    using System;

    /// <summary>
    /// 元祖Tuple
    /// </summary>
    public class TupleDemo
    {
        /// <summary>
        /// 方法Devide返回包括2个成员的元祖Tuple<int,int>.泛型类的參数定义了成员的类型,他们都是整数
        /// 元祖用静态Tuple类的静态方法Create方法创建,Create方法的泛型參数定义了要实例化的元祖类型
        /// 新建的元祖用resultA和resultB变量实例化
        /// </summary> 
        public static Tuple<int,int> Devide(int a, int b)
        {
            int resultA = a / b;
            int resultB = a % b;

            return Tuple.Create(resultA, resultB);
        }

        /// <summary>
        /// 调用Devide方法,能够用属性Item1和Item2訪问元祖的项
        /// </summary>
        public static void Test()
        {
            var result = Devide(10, 2);
            Console.WriteLine("resultA: {0},resultB: {1}", result.Item1,result.Item2);
        }

        //假设元祖包括的项超过8个,就能够使用8个參数的Tuple类定义,最后一个模版參数的TRest,表示必须给他传递一个元祖
        //这样。就能够创建随意參数的元祖

        //public static Tuple<T1, T2, T3, T4, T5, T6, T7, Tuple<T8>> Create<T1, T2, T3, T4, T5, T6,
            //T7, T8>(T1 item1, T2 item2, T3 item3, T4 item4, T5 item5, T6 item6, T7 item7, T8 item8);
    }
}

原文地址:https://www.cnblogs.com/slgkaifa/p/6769761.html