我有folloving方法。
private ref (int, int) GetValue()
{
var array = new (int, int)[1];
return ref array[0];
}下面的代码运行良好:
var (s1, s2) = GetValue();但是我需要使用ref特性。下面的代码也可以工作:
ref var r = ref GetValue();现在我想解构这个元组。以下代码无法编译:
ref var (r1, r2) = ref GetValue();有可能解构ref变量吗?
发布于 2019-05-08 21:31:30
我还没有使用过ref值元组,但据我所知,元组的内容不是ref,而是元组本身。因此,您需要指定一个标识符,就像在方法上使用ref参数一样。
解构值元组将意味着调用中的ref是无用的。变量本身不再使用ref元组进行更新。
这意味着不允许这种构造是完全有意义的,而这样做似乎是不可能的。
https://stackoverflow.com/questions/56041891
复制相似问题