我有非常简单的Bitwise运算符方法,我想这样使用:
myInt.SetBit(int k, bool set)
Run Code Online (Sandbox Code Playgroud)
所以它将索引'k'的位改为值'set'(0或1)我首先想到这样做:
public static void SetBit(this int A, int k, bool set) {
if (set) A |= 1 << k;
else A &= ~(1 << k);
}
Run Code Online (Sandbox Code Playgroud)
但当然这只会改变变量'A'的内部值,而不是原始变量,因为整数不是引用类型.
我不能将'ref'和'this'一起使用,所以我不知道如何把它变成参考参数.
我已经有类似Int数组的方法,但这些方法工作正常,因为数组是引用类型.
我正在寻找一种方法来为单个整数保留这个方便的语法,如果有的话.