随着C#7的实施,元组更容易使用。事实上,我有一个案例,我会在几种方法中使用相同的元组签名。
为了节省打字,我可以命名或别名吗? 或者我应该继续定义一个结构?
答案 0 :(得分:2)
在阅读了更多现有的重复内容之后,我认为应该提及一个重点: C#7中的元组是语法糖,使得Structs更容易作为一次性使用。
在这种情况下,如果元组的特定结构将被重用足以需要名称,那么完整的Struct语法将是适当的解决方案。
答案 1 :(得分:1)
不,你不能别名。如果你想要某种"简短形式"您将需要定义一个实际类型并使用它而不是元组。
答案 2 :(得分:1)
您可以将别名与任何其他类型的值元组一起使用:
> using T = System.ValueTuple<int, string>;
> T t;
> t.Item1 = 1;
> t.Item2 = "one";
但那可能不是你想要的。这是因为元组值名称不在类型本身中,而是在变量和返回值中。
对于变量,编译器会跟踪值名称。在返回值的情况下,[System.Runtime.CompilerServices.TupleElementNamesAttribute]属性用于将名称附加到返回值。