C#中Tuple的使用
定义:元组是具有 特定数量和序列 的元素 的数据结构 (注意断句哈!)
元组通常有四种使用方式︰
一、表示一组数据
例如,一个元组可以表示一条数据库记录,并且每一个分量对应表示这条记录的每个字段便于对数据集进行访问和操作,例如下面这个例子(数据集市每个学生和他的分数,最后求出所有成绩的学生的平均分数):
二、便于对数据集进行访问和操作
例如下面这个例子(数据集市每个学生和他的分数,最后求出所有成绩的学生的平均分数):
- using System;
- public class Example
- {
- public static void Main()
- {
- Tuple<string, Nullable<int>>[] scores =
- { new Tuple<string, Nullable<int>>("Jack", 78),
- new Tuple<string, Nullable<int>>("Abbey", 92),
- new Tuple<string, Nullable<int>>("Dave", 88),
- new Tuple<string, Nullable<int>>("Sam", 91),
- new Tuple<string, Nullable<int>>("Ed", null),
- new Tuple<string, Nullable<int>>("Penelope", 82),
- new Tuple<string, Nullable<int>>("Linda", 99),
- new Tuple<string, Nullable<int>>("Judith", 84) };
- int number;
- double mean = ComputeMean(scores, out number);
- Console.WriteLine("Average test score: {0:N2} (n={1})", mean, number);
- }
- private static double ComputeMean(Tuple<string, Nullable<int>>[] scores, out int n)
- {
- n = 0;
- int sum = 0;
- foreach (var score in scores)
- {
- if (score.Item2.HasValue)
- {
- n += 1;
- sum += score.Item2.Value;
- }
- }
- if (n > 0)
- return sum / (double) n;
- else
- return 0;
- }
- }
- // The example displays the following output:
- // Average test score: 88 (n=7)
三、一个方法有多个返回值无需使用out参数(事实上我就是用的这种方式)
贴一段我的代码
- public Tuple<int, string> ManEntryPN(DateTime recTime, double netLossRate, double electricityOnline, double electricitySell)
- {
- //检验查询
- Tuple<int, string> tuple = null;
- string testProc = "queryManagePageData";
- SqlParameter[] testParas = new SqlParameter[] {
- new SqlParameter("@recTime",recTime),
- new SqlParameter("@netLossRate",netLossRate),
- new SqlParameter("@electricityOnline",electricityOnline),
- new SqlParameter("@electricitySell",electricitySell),
- new SqlParameter("@indexName","TestManEntryPN")
- };
- DataTable dt = new DataTable();
- dt = sqlhelper.ExecuteQuery(testProc, testParas, CommandType.StoredProcedure);
- if (dt.Rows.Count > 0)
- {
- //如果该日期数据已经录入
- return tuple = new Tuple<int, string>(1, recTime + "数据已经录入");
- }
- //数据录入
- string insertProc = "queryManagePageData";
- SqlParameter[] insertParas = new SqlParameter[] {
- new SqlParameter("@recTime",recTime),
- new SqlParameter("@netLossRate",netLossRate),
- new SqlParameter("@electricityOnline",electricityOnline),
- new SqlParameter("@electricitySell",electricitySell),
- new SqlParameter("@indexName","ManEntryPN")
- };
- int res = sqlhelper.ExecuteNonQuery(insertProc, insertParas, CommandType.StoredProcedure);
- if (res > 0)
- {
- //如果录入成功
- return tuple = new Tuple<int, string>(0, "Sucess");
- }
- return tuple = new Tuple<int, string>(1, "插入失败");
- }
四、将多个值传给单个参数的方法
例如,Thread.Start(Object) 方法只有一个参数,即你可以传一个值给该线程的启动方法。 如果你提供Tuple<T1, T2, T3> 对象作为方法参数,则你可以给该线程的启动方法传3个值
C#中Tuple的使用相关推荐
- Python中Tuple(元组)
Python中Tuple(元组) Tuple的创建 tuple是另一种有序的列表,也称为" 元组 ".tuple 和 list 非常类似,但是,tuple一旦创建完毕,就不能修改了 ...
- Postgres中tuple的组装与插入
1.相关的数据类型 我们先看相关的数据类型: HeapTupleData(src/include/access/htup.h) typedef struct HeapTupleData {uint32 ...
- python中tuple、list以及array(numpy的数据格式)的相互转换
前言:python中常常需要实现tuple.list以及array数据类型之间的转换,比如tuple可以保证数据不易被修改,而对于数据来说,array数据类型可以方便地调用numpy包中的函数进行数据 ...
- C++中tuple类型
tuple是C++11新标准里的类型.它是一个类似pair类型的模板.pair类型是每个成员变量各自可以是任意类型,但是只能有俩个成员,而tuple与pair不同的是它可以有任意数量的成员.但是每个确 ...
- python中tuple的意思_pythontuple什么意思
python tuple什么意思? python tuple即元组,tuple()函数将列表转换为元组. tuple()方法语法:tuple( seq ) 参数 seq -- 要转换为元组的序列. 返 ...
- [你必须知道的.NET]第三十二回,,深入.NET 4.0之,Tuple一二
anytao.net | <你必须知道的.NET>网站 | Anytao技术博客 发布日期:2009.06.01 作者:Anytao © 2009 Anytao.com ,Anytao原 ...
- dataloader 源码_pytorch :: Dataloader中的迭代器和生成器应用
在使用pytorch训练模型,经常需要加载大量图片数据,因此pytorch提供了好用的数据加载工具Dataloader. 为了实现小批量循环读取大型数据集,在Dataloader类具体实现中,使用了迭 ...
- python中的JSON到底怎么用?
前言 最近在学习python爬虫,在对数据进行持久化存储的时候,会选择使用json格式的数据进行存储,由此就引发了一个问题,python中的JSON库到底咋用? 以前使用JavaScript中Json ...
- [转载] python tuple类型如何索引_Python基础数据类型——tuple浅析
参考链接: Python tuple() Python中tuple的使用 一.什么是元组? 有序列表叫元组:tuple.tuple和list非常类似,但是tuple一旦初始化就不能修改. 二.用法 1 ...
最新文章
- css before after用法_CSS 伪元素基础知识:content 与counter 实用技巧(二)
- mysql的优化-添加环境变量启动服务
- Nginx 反向代理配置
- Oracle10怎样调出左侧的表,excel2010菜单栏不见了!怎样在excel左侧显示导航
- Presto数组函数
- NspAction与JsonAction区别与用法
- Linux中安装JDK并配置环境变量
- 低智商社会,娱乐至死,2书推荐,世界12大理论,
- 给定一个净值序列,计算年化收益、最大回撤、夏普比率
- 1g1h1m mysql_mysql服务器优化
- 把ip导入mysql_纯真IP数据库导入mysql
- 高通QPST Download使用方法
- 小程序常见故障解决方法分享|微信小程序平台常见拒绝情形
- 揭秘Microsoft Windows LDM
- 万物互联所必需的泛在物联网建设需要多少钱?成本低到不可想象
- 第05章 Go语言函数(Go语言func)
- MacBook 无法连接公司内网服务器
- qspi(spi四线模式)
- mysql连接异常:The server time zone value '�й���ʱ��' is unrecognized or represents more than one time zo
- 【C++】求三角形面积
热门文章
- stm32 复位到内部bootloader
- python的栈在哪个库_Python实现栈的方法
- php手册最新版本_PHP官方网站及PHP手册
- 字典与集合_月隐学python第8课
- c语言中虚函数和纯虚函数,虚函数和纯虚函数的区别是什么?
- java百度地图添加标注_调取百度地图接口,实现取自己的实时位置,然后可以在百度地图上添加信息标注...
- mysql读取和写入的峰值_计算MySQL的内存峰值公式
- rss spring 接口_spring 接口支持返回多种格式
- hadoop 环境搭建
- netty源码解解析(4.0)-2 Chanel的接口设计