對于Test2()下面的調用,有沒有辦法讓它更短以省略顯式輸入?class Program{ static void Main(string[] args) { Test(("a", (1, "b"))); Test2(new Dictionary<string, (int, string)>() { {"a", (1, "b") } }); } static void Test((string, (int, string)) data) { } static void Test2(Dictionary<string, (int, string)> data) { }}
1 回答

呼如林
TA貢獻1798條經驗 獲得超3個贊
在 C# 中,您定義的構造可以適合多種類型,因此不能將其推斷為 Dictionary。
下面,我使用 params 關鍵字接受您指定的元組類型的數組,然后從中創建字典以調用需要字典的方法。
private static void Main(string[] args)
{
Test(("a", (1, "b")));
TestWrap(
("a", (1, "b")),
("b", (3, "c"))
);
}
private static void Test((string, (int, string)) data)
{
}
private static void TestWrap(params (string, (int, string))[] data)
{
Test2(data.ToDictionary(v => v.Item1, v => v.Item2));
}
private static void Test2(Dictionary<string, (int, string)> data)
{
}
- 1 回答
- 0 關注
- 84 瀏覽
添加回答
舉報
0/150
提交
取消