博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C#编程(三十六)----------元组
阅读量:4634 次
发布时间:2019-06-09

本文共 1822 字,大约阅读时间需要 6 分钟。

元组

数组合并了相同类型的对象,而元组合并了不同类型的对象.

.NET 4定义了8个泛型Tuple类和一个静态的Tuple,他们用作元组的工厂.

元组是一种,通过逗号分隔

Tuple<T1,T2,T3...>最多能到7,也可以通过嵌套的元组中的对象创建八个或多个元素的元组在Rest属性中的 对象。

案例:

//一个元素的元组

            Tuple<int> test = new Tuple<int>(34);

            //两个元素的元组

            Tuple<string, int> test2 = new Tuple<string, int>("zhangsan",23);

            //多个元素的元组

            Tuple<int, int, Tuple<int, int>> test_i_i_Tii = new Tuple<int, int, Tuple<int, int>>(1, 1, new Tuple<int, int>(2, 3));  

            Console.WriteLine(test.Item1);

            Console.WriteLine(" {0}  :  {1}",test2.Item1,test2.Item2);

            Console.ReadKey();

多个返回值问题

一般shiyongout关键字,使用元组也可以实现,案例:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

 

namespace 元组

{

    class Program

    {

        static void Main(string[] args)

        {

            string outparam = "";

            //使用out关键字得到多个返回值

            int returnvalue = OutTest(out outparam);

            Console.WriteLine(outparam);

            //使用Tuple得到多个关键字

            Tuple<string, int> test = TupleTest();

            Console.WriteLine("{0},{1}", test.Item1, test.Item2); ;

            Console.ReadKey();

        }

        /// <summary>

        /// 实现返回两个值

        /// </summary>

        /// <param name="test"></param>

        /// <returns></returns>

        public static int OutTest(out string test)

        {

            test="hahaha";

            return 10;

        }

        /// <summary>

        /// 使用元组实现返回两个值

        /// </summary>

        /// <returns></returns>

        public static Tuple<string, int> TupleTest()

        {

            return new Tuple<string, int>("zhangsan",10);

        }

    }

}

 

当然使用创建的帮助器方法的同一元组对象更为简单:

var test = Tuple.Create("zhangsan",19);            Console.WriteLine("{0},{1}",test.Item1,test.Item2);

 

元组通常有四种不同的使用方式:

1.表示一组数据.例如,元组可以表示一条记录,并且其组建可以保湿记录的各个字段.

2.提供对数据集的轻松访问和操作

3.在不使用out参数(C#)ByRef参数(VB)的情况下,从方法汇总返回多个值

4.通过单个参数将多个值传递给一个方法.案例:

 

 

 static void Main(string[] args)

{            

  Tuple<string,int,char> t=new Tuple<string,int,char>("zhangsan",19,'M')            

   int res = Test(t);

}

public static int Test(Tuple<string,int ,char> t)

{

     return 0;

}

 

转载于:https://www.cnblogs.com/android-blogs/p/6598476.html

你可能感兴趣的文章
jQuery_第五章_jQuery事件和动画
查看>>
打表打表何谓打表?
查看>>
MPEG4与.mp4
查看>>
实验5
查看>>
成长轨迹44 【ACM算法之路 百炼poj.grids.cn】【字符串处理】【2799、2976、2975、2742】...
查看>>
git 下载 安装
查看>>
录制终端信息并回放
查看>>
JS中window.event事件使用详解
查看>>
ES6深入学习记录(一)class方法相关
查看>>
Linux 文件系统及 ext2 文件系统
查看>>
复习笔记之母函数
查看>>
进军ABP第一天:ABP理论知识
查看>>
GitHub上整理的一些工具【转载】
查看>>
jenkins ssl证书报错问题解决
查看>>
《BI项目笔记》用Excel2013连接和浏览OLAP多维数据集
查看>>
C语言对mysql数据库的操作
查看>>
SQL Server 数据库备份
查看>>
INNO SETUP 获得命令行参数
查看>>
http编程学习(C#)
查看>>
DNN 数据访问策略 (转)
查看>>