如何解构 C# 7 中的参数值元组?
How can I Deconstruct Value Tuples that are out parameters in C# 7?
鉴于以下情况:
var dic = new Dictionary<string, (int, int)>()
{
["A"] = (1, 2)
};
dic.TryGetValue("A", out (int, int) value);
我可以很容易地从字典中得到 value
,但是我怎样才能解构它来得到每个单独的值,就像这样:
dic.TryGetValue("A", out var (left, right));
dic.TryGetValue("A", out var (left, right));
尚不支持此语法,以后可能添加。 reference
你可以像这样给元组元素命名。
if(dic.TryGetValue("A", out (int left, int right) t))
{
var (left, right) = (t.left, t.right);
// use (left, right) or directly use (t.left, t.right)
}
我想不出更短的语法,这只是时间问题。 c#7 比以前发展得更快,所以你只需要等待。
鉴于以下情况:
var dic = new Dictionary<string, (int, int)>()
{
["A"] = (1, 2)
};
dic.TryGetValue("A", out (int, int) value);
我可以很容易地从字典中得到 value
,但是我怎样才能解构它来得到每个单独的值,就像这样:
dic.TryGetValue("A", out var (left, right));
dic.TryGetValue("A", out var (left, right));
尚不支持此语法,以后可能添加。 reference
你可以像这样给元组元素命名。
if(dic.TryGetValue("A", out (int left, int right) t))
{
var (left, right) = (t.left, t.right);
// use (left, right) or directly use (t.left, t.right)
}
我想不出更短的语法,这只是时间问题。 c#7 比以前发展得更快,所以你只需要等待。