当前位置: 首页 > news >正文

c#元组举例

数组合并了相同类型的对象,而元组合并了不同类型的对象。元组起源于函数编程语言(如F#) ,在
这些语言中频繁使用元组。在N盯4中,元组可通过.NET Fmmework用于所有的NET语言。
.NET 4定义了8个泛型Tuple类和一个静态Tuple类,它们用作元组的工厂。这里的不同泛型Tuple
类支持不同数量的元素。例如,Tuple<T1>包含-个元素,Tuple<T1,T2>包含两个元素,以此类推。

 

1.第一个例子

        private Tuple<int, int> Divide(int dividend, int divisor)
        {
            int result = dividend / divisor;
            int reminder = dividend % divisor;
            return Tuple.Create<int, int>(result, reminder);           //返回两个相同类型元素的元组
        }

       --------测试-------------

        private void button1_Click(object sender, EventArgs e)
        {
            Tuple<int, int> result = Divide(13, 2);
            Console.WriteLine("result of divison:{0}," +
                "reminder:{1}", result.Item1, result.Item2);                //用属性item1,item2访问元组的项
        }

       -------结果-------------

       result of divison:6,reminder:1

2.第二个例子

        private Tuple<int, string> MyTest2(int dividend, string Name)
        {
            int result = dividend / 2;
            string name = "Hello," + Name;
            return Tuple.Create<int, string>(result, name);      //返回两个不同类型元素的元组
        }

        --------测试-------------

        private void button2_Click(object sender, EventArgs e)
        {
            Tuple<int, string> result = MyTest2(13, "limin");
            Console.WriteLine("result of divison:{0}," +
                "Name:{1}", result.Item1, result.Item2);                //用属性item1,item2访问元组的项
        }

        -------结果-------------

        result of divison:6,Name:Hello,limin

3.第三个例子

如果元组包含的项超过8个,就可以使用带8个参数的Tuple类定义。最后一个模板参数是TRest ,
表示必须给它传递一个元组。这样,就可以创建带任意个参数的元组了。
下面说明这个功能:
public class Tuple<T1,T2,T3,T4,T5,T6,T7,TRest>
其中,最后一个模板参数是一个元组类型,所以可以创建带任意多项的元组:
var tuple = Tuple.Create<string,string,string, int,int,int,double,
Tuple<int,int>>(
"stephanie","Alina","Nagel", 2009,6,2,1.37,
Tuple.Create<int,int> (52,3490));

转载于:https://www.cnblogs.com/KSalomo/p/6531094.html

相关文章:

  • RSA证书说明
  • JavaScript学习12 JS中定义对象的几种方式【转】
  • Flex设置toolTip样式
  • fle中alert样式的设置
  • Hdu 3065 病毒侵袭持续中(AC自动机)
  • Error #2044: 未处理的 IOErrorEvent:。 text=Error #2038: 文件 I/O 错误。
  • sql server 函数详解(4)日期和时间函数
  • 【CSP】字符与int
  • flex 多文件上传
  • 网络基础
  • hibernate常见错误
  • oracle中REF Cursor用法
  • 结对作业
  • FLEX在datagrid中的itemreader中渲染combobox使用outerDocument
  • shell分库备份
  • [译]CSS 居中(Center)方法大合集
  • JavaScript实现分页效果
  • JS基础篇--通过JS生成由字母与数字组合的随机字符串
  • php面试题 汇集2
  • spring-boot List转Page
  • 对JS继承的一点思考
  • 多线程事务回滚
  • 缓存与缓冲
  • 基于Mobx的多页面小程序的全局共享状态管理实践
  • 记一次用 NodeJs 实现模拟登录的思路
  • 开源地图数据可视化库——mapnik
  • 手机端车牌号码键盘的vue组件
  • 树莓派 - 使用须知
  • ​直流电和交流电有什么区别为什么这个时候又要变成直流电呢?交流转换到直流(整流器)直流变交流(逆变器)​
  • #控制台大学课堂点名问题_课堂随机点名
  • (arch)linux 转换文件编码格式
  • (C语言)fgets与fputs函数详解
  • (ZT)薛涌:谈贫说富
  • (第9篇)大数据的的超级应用——数据挖掘-推荐系统
  • (二)七种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (附源码)计算机毕业设计ssm-Java网名推荐系统
  • (附源码)计算机毕业设计SSM基于健身房管理系统
  • (九)c52学习之旅-定时器
  • (一)kafka实战——kafka源码编译启动
  • (转)Mysql的优化设置
  • .bat批处理(五):遍历指定目录下资源文件并更新
  • .helper勒索病毒的最新威胁:如何恢复您的数据?
  • .NET CORE 第一节 创建基本的 asp.net core
  • .NET Core实战项目之CMS 第一章 入门篇-开篇及总体规划
  • .NET Core中Emit的使用
  • .netcore 获取appsettings
  • .NET多线程执行函数
  • .NET国产化改造探索(三)、银河麒麟安装.NET 8环境
  • .NET简谈互操作(五:基础知识之Dynamic平台调用)
  • .NET学习全景图
  • .NET中使用Redis (二)
  • .pings勒索病毒的威胁:如何应对.pings勒索病毒的突袭?
  • ??在JSP中,java和JavaScript如何交互?
  • [ 隧道技术 ] 反弹shell的集中常见方式(四)python反弹shell
  • [20181219]script使用小技巧.txt