在下面的示例中,在函数Test()
中,即使我有Deconstruct
的{{1}}扩展方法,第一行也可以成功编译,而第二行则不能成功编译。为什么会这样?
KeyValuePair
答案 0 :(得分:2)
解构是专门用于为变量分配值的功能。在您的代码中,您没有为变量分配值,因此不会发生解构。您可以在需要该类型的任何地方使用解构类型(在这种情况下,作为匿名函数的参数),只能在分配给变量时对其进行解构。
实际上使用元组的第一个选择并没有发生解构,这只是值元组的语法。并不是解构(尽管看起来很相似;功能被设计为看起来很相似,但是在技术上却是不同的功能)。