【发布时间】:2017-10-21 00:23:34
【问题描述】:
ValueTuple 作为 C# 7.0 中的一个新特性,它具有公共方法 Create,它有助于创建 ValueTuples(来自 singleton to octuple 或更多),另一方面,我们也可以使用 new 来实现相同的结果。我注意到这些行为不同。我正在尝试研究以下实现错误,或者这是按照设计:
方法CreateOctuple()按预期工作:
private static ValueTuple<int, int, int, int, int, int, int, ValueTuple<int>> CreateOctuple()
{
return new ValueTuple<int, int, int, int, int, int, int, ValueTuple<int>>(1, 2, 3, 4, 5, 6, 7, new ValueTuple<int>(8)); ;
}
现在,我尝试使用Create() 方法实现相同的输出,不幸的是,它抱怨返回类型:
private static ValueTuple<int, int, int, int, int, int, int, ValueTuple<int>> OctupleUsingCreate()
{
return ValueTuple.Create(1, 2, 3, 4, 5, 6, 7, ValueTuple.Create(8));
}
附:所有软件包都是最新的,我使用的是 Visual Studio 2017 最新版本。
根据 Svick 的建议
static ValueTuple<int, int, int, int, int, int, int, ValueTuple<int>> OctupleUsingCreate()
{
return ValueTuple.Create(1, 2, 3, 4, 5, 6, 7, 8);
}
【问题讨论】:
标签: c#-7.0 valuetuple