ValueTuple作爲C#7.0中的一項新功能使用了公共方法Create
,它有助於創建ValueTuples(從singleton to octuple
或更多),我們也可以使用new
來實現相同的結果。我注意到這些行爲有所不同。我試圖研究以下執行錯誤或這是後話按照設計:ValueTuple:創建八進制有什麼問題?
方法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));
}
P.S.所有軟件包都是最新的,我正在使用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);
}
我已經試過了。但它不起作用。我使用快照和代碼更新了問題。 –
@GauravAroraa這只是一個ReSharper錯誤。代碼實際上編譯和工作正常。 – svick
@GauravAroraa我剛剛[報道](https://youtrack.jetbrains.com/issue/RSRP-464845)。 – svick