System.Tuple 类
方法描述
表示 4 元组,即四元组。
语法定义(C# System.Tuple 类 的用法)
[SerializableAttribute] public class Tuple: IStructuralEquatable, IStructuralComparable, IComparable
构造函数
构造函数名称 | 构造函数描述 |
---|---|
Tuple |
初始化 Tuple |
成员/方法
方法名称 | 方法描述 |
---|---|
Equals | 返回一个值,该值指示当前的 Tuple |
Finalize | 允许对象在“垃圾回收”回收之前尝试释放资源并执行其他清理操作。 (继承自 Object。) |
GetHashCode | 返回当前 Tuple |
GetType | 获取当前实例的 Type。 (继承自 Object。) |
MemberwiseClone | 创建当前 Object 的浅表副本。 (继承自 Object。) |
ToString | 返回一个字符串,该字符串表示此 Tuple |
提示和注释
元组是一种数据结构,其中的值具有特定数目和序列。 Tuple
可以通过调用 Tuple
元组通常有四种不同的使用方式:
表示一组数据。 例如,元组可以表示一条数据库记录,并且其组件可以表示记录的各个字段。
提供对数据集的轻松访问和操作。 下例定义了一个 Tuple
C#
VB
复制
using System;
using System.Collections.Generic;
public class Example
{
public static void Main()
{
Tuple
{ Tuple.Create("McHale, Joe", 240.1m, 221, 96),
Tuple.Create("Paul, Dave", 233.1m, 231, 84),
Tuple.Create("Williams, Mike", 193.2m, 183, 86),
Tuple.Create("Blair, Jack", 168.1m, 146, 65),
Tuple.Create("Henry, Walt", 140.1m, 96, 30),
Tuple.Create("Lee, Adam", 137.2m, 109, 45),
Tuple.Create("Rohr, Don", 101.0m, 110, 42) };
Tuple
// Display the results.
Console.WriteLine("{0,-20} {1,9} {2,11} {3,15}\n",
"Pitcher", "ERA", "Hits/Inn.", "Effectiveness");
foreach (var result in results)
Console.WriteLine("{0,-20} {1,9:F2} {2,11:F2} {3,15:F2}",
result.Item1, result.Item2, result.Item3, result.Item4);
}
private static Tuple
{
var list = new List
Tuple
foreach (var pitcher in pitchers)
{
// Decimal portion of innings pitched represents 1/3 of an inning
double innings = (double) Math.Truncate(pitcher.Item2);
innings = innings + (((double)pitcher.Item2 - innings) * .33);
double ERA = pitcher.Item4/innings * 9;
double hitsPerInning = pitcher.Item3/innings;
double EI = (ERA * 2 + hitsPerInning * 9)/3;
result = new Tuple
(pitcher.Item1, ERA, hitsPerInning, EI);
list.Add(result);
}
return list.ToArray();
}
}
// The example displays the following output;
// Pitcher ERA Hits/Inn. Effectiveness
//
// McHale, Joe 3.60 0.92 5.16
// Paul, Dave 3.24 0.99 5.14
// Williams, Mike 4.01 0.95 5.52
// Blair, Jack 3.48 0.87 4.93
// Henry, Walt 1.93 0.69 3.34
// Lee, Adam 2.95 0.80 4.36
// Rohr, Don 3.74 1.09 5.76
在不使用 out 参数(在 C# 中)或 ByRef 参数(在 Visual Basic)的情况下,从方法中返回多个值。 例如,前例在 Tuple
通过单个参数将多个值传递给一个方法。 例如,Thread.Start(Object) 方法有一个单一参数,可以使用该参数向在启动时线程执行的方法提供一个值。 如果将 Tuple
System.Tuple 类例子
线程安全
此类型的任何公共 static(在 Visual Basic 中为 Shared) 成员都是线程安全的。但不保证所有实例成员都是线程安全的。
版本信息
.NET Framework 受以下版本支持:4 .NET Framework Client Profile 受以下版本支持:4 受以下版本支持:
适用平台
Windows 7, Windows Vista SP1 或更高版本, Windows XP SP3, Windows Server 2008(不支持服务器核心), Windows Server 2008 R2(支持 SP1 或更高版本的服务器核心), Windows Server 2003 SP2 .NET Framework 并不是对每个平台的所有版本都提供支持。有关支持的版本的列表,请参见.NET Framework 系统要求。