程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C# Tuple(T1,T2....T)元組的使用

C# Tuple(T1,T2....T)元組的使用

編輯:C#入門知識

C# Tuple(T1,T2....T)元組的使用


1)

先說組元:一個數據結構,由通過逗號分割的,用於傳遞給一個程序或者操作系統的一系列值的組合。

NET Framework 直接支持一至七元素的元組

Tuple Tuple Tuple Tuple Tuple Tuple Tuple
此外,您可以通過嵌套的元組中的對象創建八個或多個元素的元組在Rest 屬性中的Tuple 對象。

簡單的示例:
            //一個元素的元組
            Tuple test = new Tuple(34);

            //兩個元素的元組 1 test2 = Tuple.Create("str", 2);
            Tuple test2_1 = new Tuple(2,2);

            //8個元素的元組(注意,Tuple<類型...>: 基本"類型"最多7個, 第八個元素類型必須也為元組)
            Tuple> test3 = 
            new Tuple>(1, 2, 3, 4, 5, 6, 7, new Tuple(8));
            
            //也可以這樣
            Tuple> test_i_i_Tii = new Tuple>(1,1,new Tuple(2,3));
            
            Console.WriteLine(test.Item1);
            Console.WriteLine(test2.Item1 + test2.Item2);
            Console.WriteLine(test2_1.Item1 + test2_1.Item2);
            Console.WriteLine(test3.Item1 + test3.Item2 + test3.Item3 + test3.Item4 + test3.Item5 + test3.Item6 + test3.Item7 + test3.Rest.Item1);
結果:
\

2)多個返回值問題
一般我們都是用out關鍵字(相比其他語言,如golang,out關鍵字還是稍微有點麻煩),此時我們可以使用元組實現:
namespace TupleDemo
{
    class Program
    {
        static void Main(string[] args)
        {

            //使用out拿到多個返回值
            string outparam = "";
            int returnvalue = FunOutParamDemo(out outparam);
            Console.WriteLine(returnvalue + "    " + outparam);

            //使用元組拿到多個返回值
            Tuple r = FunTupleParamDemo();
            Console.WriteLine(r.Item1 + "    " + r.Item2);

            Console.Read();
        }
        /// 
        /// out關鍵字,實現返回兩個返回值
        /// 
        ///
        /// 
        public static int FunOutParamDemo(out string o)
        {
            o = "returnValue";
            return 10;
        }

        /// 
        /// 使用元組實現【間接】返回【兩個】返回值
        /// 
        /// 
        public static Tuple FunTupleParamDemo() {
            return new Tuple(10, "returnValue");
        }
    }
}
運行結果:
\


 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved