|
|
1
10
因为你实际上并没有改变什么
为了通过
该代码不会编译: “无法将'<this>'作为ref或out参数传递,因为它是只读的” |
|
|
2
5
如果你
类中的所有信息在方法中更改时都会自动更改 |
|
|
3
4
听起来你对你的大问题已经有了答案。但我们还是考虑一下这个吧。
对。按逻辑处理。
事实上,这就是“this”在幕后以值类型实现的方式。当你有一个(最糟糕的练习!不实际执行此操作)可变值类型:
因为s的实例是 传递值 是怎么变异的?必须通过引用传递!实际上,我们生成的代码就好像您编写了如下内容:
简言之,结构中的“this”已经作为ref参数传递,因此再次传递它没有问题。这样做几乎总是 糟糕的主意 但这是合法的。 |
|
|
4
0
你真的需要ref关键字吗? 如果更改接收方实例,ref将非常有用 例如 接收器=空; 否则 属性也可以不使用ref关键字访问。 |