给定一个函数(string a, string b) F(),你可以解构它返回的元组:
var (a, b) = F();
(string c, string d) = F();
Run Code Online (Sandbox Code Playgroud)
或者你可以分配它:
var (a, b) e = F();
(string a, string b) f = F();
var g = F(); // One of these things is not like the others.
Run Code Online (Sandbox Code Playgroud)
类解构器的行为与第一种情况类似.给定一个类C有Deconstructor(out string a, out string b):
var c = new C();
var (h, i) = c;
(string j, string k) = c;
Run Code Online (Sandbox Code Playgroud)
但编译器不会使用解构函数将其隐式转换为元组:
// Cannot implicitly convert type …Run Code Online (Sandbox Code Playgroud)