我刚刚从MSDN杂志上读到这篇文章:Building Tuple
以下是摘录:
即将发布的Microsoft 4.0版本 .NET Framework引入了一种新类型 叫做System.Tuple.System.Tuple是一个 固定大小的集合 异构类型的数据. 他说: 他说:
与数组一样,元组也有固定的
已经有一个示例说明了 在Microsoft中浮动的元组 .NET Framework,在 System.Collections.Generic命名空间: KeyValuePair.而KeyValuePair可以被认为是相同的 作为Tuple,因为它们都是 包含两个东西的类型, KeyValuePair感觉与 元组,因为它调用一种关系 在它存储的两个值之间(和 有很好的理由,因为它支持 DICTIONARY类).
此外,元组可以是任意的
虽然像F#这样的一些语言对元组有特殊的语法,但您可以使用任何语言中新的通用元组类型.回顾第一个示例,我们可以看到,虽然元组很有用,但在没有元组语法的语言中,元组可能过于冗长:
class Program {
static void Main(string[] args) {
Tuple<string, int> t = new Tuple<string, int>("Hello", 4);
PrintStringAndInt(t.Item1, t.Item2);
}
static void PrintStringAndInt(string s, int i) {
Console.WriteLine("{0} {1}", s, i);
}
}
使用C#3.0中的var关键字,我们可以删除tuple变量上的类型签名,这允许代码更具可读性.
var t = new Tuple<string, int>("Hello", 4);
我们还向静态元组类添加了一些工厂方法,这使得在支持类型推断的语言(如C#)中构建元组更加容易.
var t = Tuple.Create("Hello", 4);