System.Tuple 类
方法描述
表示 5 元组,即五元组。
语法定义(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()
{
// Organization of runningBacks 5-tuple:
// Component 1: Player name
// Component 2: Number of games played
// Component 3: Number of attempts (carries)
// Component 4: Number of yards gained
// Component 5: Number of touchdowns
Tuple
{ Tuple.Create("Payton, Walter", 190, 3838, 16726, 110),
Tuple.Create("Sanders, Barry", 153, 3062, 15269, 99),
Tuple.Create("Brown, Jim", 118, 2359, 12312, 106),
Tuple.Create("Dickerson, Eric", 144, 2996, 13259, 90),
Tuple.Create("Faulk, Marshall", 176, 2836, 12279, 100) };
// Calculate statistics.
// Organization of runningStats 5-tuple:
// Component 1: Player name
// Component 2: Number of attempts per game
// Component 3: Number of yards per game
// Component 4: Number of yards per attempt
// Component 5: Number of touchdowns per attempt
Tuple
ComputeStatistics(runningBacks);
// Display the result.
Console.WriteLine("{0,-16} {1,5} {2,6} {3,7} {4,7} {5,7} {6,7} {7,5} {8,7}\n",
"Name", "Games", "Att", "Att/Gm", "Yards", "Yds/Gm",
"Yds/Att", "TD", "TD/Att");
for (int ctr = 0; ctr < runningBacks.Length; ctr++)
Console.WriteLine("{0,-16} {1,5} {2,6:N0} {3,7:N1} {4,7:N0} {5,7:N1} {6,7:N2} {7,5} {8,7:N3}\n",
runningBacks[ctr].Item1, runningBacks[ctr].Item2, runningBacks[ctr].Item3,
runningStats[ctr].Item2, runningBacks[ctr].Item4, runningStats[ctr].Item3,
runningStats[ctr].Item4, runningBacks[ctr].Item5, runningStats[ctr].Item5);
}
private static Tuple
Tuple
{
Tuple
var list = new List
foreach (var player in players)
{
// Create result object containing player name and statistics.
result = Tuple.Create(player.Item1,
player.Item3/((double)player.Item2),
player.Item4/((double)player.Item2),
player.Item4/((double)player.Item3),
player.Item5/((double)player.Item3));
list.Add(result);
}
return list.ToArray();
}
}
// The example displays the following output:
// Name Games Att Att/Gm Yards Yds/Gm Yds/Att TD TD/Att
//
// Payton, Walter 190 3,838 20.2 16,726 88.0 4.36 110 0.029
//
// Sanders, Barry 153 3,062 20.0 15,269 99.8 4.99 99 0.032
//
// Brown, Jim 118 2,359 20.0 12,312 104.3 5.22 106 0.045
//
// Dickerson, Eric 144 2,996 20.8 13,259 92.1 4.43 90 0.030
//
// Faulk, Marshall 176 2,836 16.1 12,279 69.8 4.33 100 0.035
在不使用 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 系统要求。