gpt4 book ai didi

c# - 为什么我不能将索引器作为 ref 参数传递?

转载 作者:太空宇宙 更新时间:2023-11-03 21:07:13 25 4
gpt4 key购买 nike

我明白规则。但谁知道这是为什么?

如果我的代码是:

List<T> x = new List<T>;
x.Add(new T());
x.Add(new T());
x.Add(new T());

int y = 2;

//And I call a method
M1(ref x[y]);

ref x[y] 只是指向我感兴趣的 T 实例的指针,不是吗?

为什么我不能以非常简单的方式编写称为 M1() 的代码行。

.

我知道解决方法:

T cX = x[y];
M1(ref cX);

我希望听到为什么 c# 的架构师需要这个额外的步骤来传递指针?还是编译器的限制?

最佳答案

索引器值不属于变量;因此,您不能将索引器值作为 ref 或 out 参数传递。

引用msdn

关于c# - 为什么我不能将索引器作为 ref 参数传递?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40424370/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com