我遇到了这段代码-
(int, int) x = (10, 10);
是什么意思? x
到底是什么?
答案 0 :(得分:8)
您有ValueTuple
:
元组是一种具有特定数量和元素顺序的数据结构。元组的示例是具有三个元素(称为三元组或三元组)的数据结构,该数据结构用于存储标识符,例如在第一个元素中存储人的姓名,在第二个元素中存储年份和人的收入该年度中的第三个元素。
它们是C#7中引入的。
另一种写法是这样的:
ValueTuple<int, int> x = (10, 10);
甚至:
ValueTuple<int, int> x = new ValueTuple<int, int>(10, 10);
您可以这样访问值:
int val1 = x.Item1;
int val2 = x.Item2;
您还可以为它们加上别名,然后按名称访问值:
(int A, int B) x = (10, 10); // or var (A, B) = (10, 10);
int a = x.A;
int b = x.B;
您可以在this question中了解有关ValueTuple别名的工作方式。