我确信我以前见过这个方法,因为一年前我问过:KeyValuePair 结构中 Deconstruct 方法的用途是什么? https://stackoverflow.com/questions/51809890/what-is-the-purpose-of-deconstruct-method-in-keyvaluepair-struct
但现在我根本找不到它,也找不到任何关于它被删除的痕迹,任何问题,什么也没有。
编译器同意:
var s = new KeyValuePair<int, int>(1, 3);
var (x, y) = s;
错误 CS1061“KeyValuePair”不包含定义
对于“解构”并且没有可访问的扩展方法“解构”
接受“KeyValuePair”类型的第一个参数可以是
找到(您是否缺少 using 指令或程序集引用?
错误 CS8129 没有合适的“解构”实例或扩展方法
找到类型“KeyValuePair”,有 2 个输出参数,
void 返回类型。
这是怎么回事?
您可能正在 .NET Framework 上运行代码。虽然 .NET Framework 和 .NET Core 均支持 C# 7 解构语法,但Deconstruct
方法用于KeyValuePair<TKey,TValue>
目前仅在 .NET Core 2.0 及更高版本中受支持。您可以查看“适用于”部分微软文档 https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.keyvaluepair-2.deconstruct#applies-to.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)