Tag: 运算符

什么是运算符`| =`? 我怎样才能在C#中实现它?

下面的C ++代码是做什么的? 更具体地说,什么是运算符|= ? long liFaultFlags = 0; for (int i = 0; i < FAULTCOUNT; i++) { if (faults[i] == true) { liFaultFlags |= (1 << i); } } return liFaultFlags; 如何在C#中实现?

C# – | 和&运营商?

编辑:我现在的主要问题是为什么需要重载这两个运算符才能使用&&和|| 运营商。 短路运营商不会采用对象的真值或假值并进行比较吗? 在哪里使用&&和|| 运营商是 和&使用? 我正在读C#,完整的参考资料,我对|很困惑 和&运营商。 我习惯于将它们作为比较运算符来比较两个整数的位,但它们被解释为原始逻辑运算符,其中&&和|| 是短语版本,当语句肯定是某个值时,它会停止测试值。 这是否意味着两个运算符有多种用途,或者C#是否在幕后类型转换中做了一些操作? 此外,使用&&和||时 一个类的运算符,为什么这样做 并且必须超载? 为什么不能只重载类的真值和假值?

为什么C#的二元运算符总是返回int而不管它们的输入格式如何?

如果我有两个byte s a和b ,为什么会: byte c = a & b; 关于将字节转换为int会产生编译错误吗? 即使我在a和b前面放置了一个显式的强制转换, a也b 。 另外,我知道这个问题 ,但我真的不知道它是如何应用的。 这似乎是operator &(byte operand, byte operand2)的返回类型的问题,编译器应该能够像任何其他运算符一样进行排序。

何时在C#中使用Shift运算符<>?

我正在研究C#中的移位运算符,试图找出何时在我的代码中使用它们。 我找到了答案,但对于Java,你可以: a)进行更快的整数乘法和除法运算: * 4839534 * 4 *可以这样做: 4839534 << 2 要么 543894/2可以这样做: 543894 >> 1 对于大多数处理器,移位操作比乘法更快。 b)将字节流重组为int值 c)用于加速图形操作,因为红色,绿色和蓝色由单独的字节编码。 d)将小数字装入一个长的… 对于b,c和d,我无法在这里想象一个真实的样本。 有谁知道我们是否可以在C#中完成所有这些项目? C#中的移位运算符是否有更实际的用途?

在C#中将字符串值转换为运算符

我试图找出一种动态构建条件的方法。 在例子中 var greaterThan = “>”; var a = 1; var b = 2; if(a Convert.ToOperator(greaterThan) b) {…} 我读过这篇文章,但不太明白如何实现一些东西。 C#转换字符串以在逻辑条件下使用 Ano建议非常感谢 谢谢

成员访问中的问号在C#中意味着什么?

有人可以向我解释以下代码中成员访问中的问号是什么意思? 它是标准C#的一部分吗? 尝试在Xamarin Studio中编译此文件时出现解析错误。 this.AnalyzerLoadFailed?.Invoke(this, new AnalyzerLoadFailureEventArgs(AnalyzerLoadFailureEventArgs.FailureErrorCode.NoAnalyzers, null, null)); AnalyzerFileReference.cs第195行