System.Tuple 类
方法描述
表示 2 元组,即二元组。
语法定义(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;
public class Example
{
public static void Main()
{
Tuple
{ new Tuple
new Tuple
new Tuple
new Tuple
new Tuple
new Tuple
new Tuple
new Tuple
int number;
double mean = ComputeMean(scores, out number);
Console.WriteLine("Average test score: {0:N2} (n={1})", mean, number);
}
private static double ComputeMean(Tuple
{
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 参数(在 C# 中)或 ByRef 参数(在 Visual Basic)的情况下,从方法中返回多个值。 例如,下面的示例使用 Tuple
C#
VB
复制
using System;
public class Class1
{
public static void Main()
{
int dividend, divisor;
Tuple
dividend = 136945; divisor = 178;
result = IntegerDivide(dividend, divisor);
if (result != null)
Console.WriteLine(@"{0} \ {1} = {2}, remainder {3}",
dividend, divisor, result.Item1, result.Item2);
else
Console.WriteLine(@"{0} \ {1} =
dividend = Int32.MaxValue; divisor = -2073;
result = IntegerDivide(dividend, divisor);
if (result != null)
Console.WriteLine(@"{0} \ {1} = {2}, remainder {3}",
dividend, divisor, result.Item1, result.Item2);
else
Console.WriteLine(@"{0} \ {1} =
}
private static Tuple
{
try {
int remainder;
int quotient = Math.DivRem(dividend, divisor, out remainder);
return new Tuple
}
catch (DivideByZeroException) {
return null;
}
}
}
// The example displays the following output:
// 136945 \ 178 = 769, remainder 63
// 2147483647 \ -2073 = -1035930, remainder 757
通过单个参数将多个值传递给一个方法。 例如,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 系统要求。