C#,将一个 bool 复制到另一个(通过 ref,而不是 val)

标签 c# .net value-type reference-type

我在这里的一堵砖墙边。是否可以将一个 bool 复制到另一个 bool 的 ref。考虑这段代码。 . .

bool a = false;
bool b = a;

b 现在是一个完全独立的 bool 值,值为 false。如果我随后更改 a,它将不会影响 b。是否可以通过 ref 使 a = b?我该怎么做?

非常感谢

最佳答案

没有。由于 bool 是值类型,它总是按值复制。

最好的选择是将你的 bool 包装在一个类中——这将赋予它引用类型语义:

public class BoolWrapper
{
     public bool Value { get; set; }
     public BoolWrapper (bool value) { this.Value = value; }
}

BoolWrapper a = new BoolWrapper(false);
BoolWrapper b = a;
b.Value = true; 
 // a.Value == true 

关于C#,将一个 bool 复制到另一个(通过 ref,而不是 val),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1434840/

相关文章:

c# - 检查组件是否在最外层的 LifetimeScope 中解析

c# - 有没有办法让 DateTime.IsDaylightSavingTime 在具有 GMT/UTC 时间的机器上工作?

c# - 断言签名验证失败

C# select 不改变数组的值

c# - TFS/MSTest 管理员权限

java - 表示声纳/雷达/回声位置的数据类型

c# - 如何使用 Task 设置最大并发线程数

swift - 就地改变值类型关联值

c# - Int32既然是值类型,为什么要继承.ToString()呢?

c# - LINQ 根据另一个对象列表从对象列表中删除对象