我听说最多可以使用7个变量,但我要求更多。我想知道可以使用的变量的最大数量。
它实际上是无限的。此处提供了具有七个以上属性的Tuple
的文档。第八个属性本身可以是Tuple
。它的第八个属性也可以是Tuple
,依此类推,直到系统空间耗尽。例如,这个代码:
var data =
new Tuple<int, int, int, int, int, int, int, Tuple<int, int, int, int, int, int, int, Tuple<int, int>>>(
1, 2, 3, 4, 5, 6, 7,
new Tuple<int, int, int, int, int, int, int, Tuple<int, int>>(
1, 2, 3, 4, 5, 6, 7,
Tuple.Create(1, 2)));
Console.WriteLine(data.ToString());
产生以下输出:
(1,2,3,4,5,6,7,1,2,3,4,5,7,1,2(
值得注意的是,此代码:
var data = Tuple.Create(
1, 2, 3, 4, 5, 6, 7,
Tuple.Create(
1, 2, 3, 4, 5, 6, 7,
Tuple.Create(1, 2)));
Console.WriteLine(data.ToString());
产生的输出略有不同:
(1,2,3,4,5,6,7,(1,2,3,5,6,7,1,2((
文档确实这样说:
要创建一个包含九个或九个以上组件的n元组,必须调用元组<T1、T2、T3、T4、T5、T6、T7、TRest>构造函数。Tuple类的静态工厂方法不支持创建包含八个以上组件的Tuple对象。
元组是无限的,请注意这个例子:
var t1 = ("a", "b", "c", "d", "e", "f", "g","h","i");
Console.WriteLine(t1);
Console.ReadKey();
现在我们可以说元组是无限的,因为它们不仅需要7个变量,而且具有更大的容量
var date = =Tuple.Create(
1,2,3,4,5,6,7,
tuple.creat(
1,2,3,4,5,6,7
tuple.create(1,2)));
console.writeline(data.topstring());