Tuple<(Of <(T1, T2>)>) 类
表示 2 元组,即二元组。
语法:
[SerializableAttribute]
public class Tuple<T1, T2> : IStructuralEquatable, IStructuralComparable,
IComparable
public class Tuple<T1, T2> : IStructuralEquatable, IStructuralComparable,
IComparable
类型参数
- T1
-
此元组的第一个组件的类型。
- T2
-
此元组的第二个组件的类型。
) 结构。
Item2 实例属性,可以检索元组中组件的值。
元组通常有四种不同的使用方式:
-
例如,元组可以表示数据库中的一条记录,并且其组件可以表示该记录的字段。
-
然后,它循环访问数组来计算平均测试分数。
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)
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)
) 对象作为方法参数提供,则可以提供具有两项数据的线程启动例程。