c# - C# 中的 'or' 运算符是指 "and/or"还是 "one or the other"?

标签 c# if-statement operators

这是一个非常简单的问题,但我想确定一些说明。

举个例子:

if (FirstName == "Bert" || Surname == "Berterson")

是否|| (或)运算符的意思是,在这种情况下:

一个。 “如果此人名为 Bert 和/或姓 Berterson”(即“Bert Berterson”、“Bert Smith”、“Gary Berterson”都符合条件)

-- 或--

B. “如果此人有名字 Bert 或姓氏 Berterson,但不是两者都有”(即“Bert Berterson”不符合条件,而“Sally Berterson”和“Bert Billhouse”符合条件)

谢谢你抽出时间,我希望这是有道理的,对于这么简单的问题我深表歉意

最佳答案

C# 中的 || 运算符是一个包含性 OR,它是短路。这意味着您的示例:

if (FirstName == "Bert" || Surname == "Berterson")
  • 如果 FirstName"Bert",则整个表达式为 true,第二部分甚至不计算

  • 如果 FirstName 不是 "Bert",则计算第二部分并确定整个表达式的结果。

对于异或 (XOR),使用 ^ 运算符:

if ((FirstName == "Bert") ^ (Surname == "Berterson"))

只有当两个条件中恰好时,这才为

关于c# - C# 中的 'or' 运算符是指 "and/or"还是 "one or the other"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38724818/

相关文章:

PHP 运算符 <>

c# - SendMessage WM_SETTEXT 到另一个进程失败,因为目标进程中接收到的指针已更改

r - 在 R 的 for 循环中使用粘贴函数编写 ifelse 语句

javascript - 如何使用 JS 检查字符串是否会成为有效的 html ID?

Python 3 'else' 在这个循环中如何工作

MySql XNOR 等效项

c# - webclient 远程服务器返回错误 : (500) Internal Server Error

c# - 如何在 conversionType 为十进制且输入为 "40.00"时使用 Convert.ChangeType()

c# - 使用 c# 在静默模式下安装 MS Outlook 2010

运算符 == 的 C++ 模板类错误