if语句-执行';或者';C#mean中的运算符“;和/或“;或“;一个或另一个”;

本文关键字:另一个 一个 运算符 执行 语句 或者 C#mean if | 更新日期: 2023-09-27 17:59:41

这是一个非常简单的问题,但我想澄清一下。

举以下例子:

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

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

A。

--或--

B。"如果此人的名字是Bert或姓氏是Berterson,但不是两者都有"(即"Bert Berterson"不符合条件,而"Sally Berterson"answers"Bert Billhouse"符合条件)

谢谢你抽出时间,我希望这是有意义的,并为这样一个简单的问题道歉

if语句-执行';或者';C#mean中的运算符“;和/或“;或“;一个或另一个”;

C#中的||运算符是一个包含的OR,它是短路。这对你的例子来说意味着:

if (FirstName == "Bert" || Surname == "Berterson")
  • 如果FirstName"Bert",则整个表达式是true,并且第二部分是,甚至未求值

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

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

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

如果恰好两个条件中的一个true,则这将仅是true

"Or"表示逻辑或,如果至少有一个语句为true,则为true。

要表达"xor",您必须使用^

它是第一个(在大多数编程语言中),意思是逻辑或。您描述的另一个运算符称为xor(exclusive or),它由C#^运算符表示。

请注意,||(和&&)是"短路"的,这意味着它们的求值延迟。例如,在a || b中,如果a为true,则C#根本不检查b。这与按位或运算符|形成对比,后者总是计算两个操作数。

它是一个逻辑OR,意味着如果第一个条件、第二个条件或两者都满足,则结果为true。

来自文件:

条件OR运算符(||)对其布尔操作数执行逻辑OR。如果第一个操作数的计算结果为true,则不计算第二个操作数。如果第一个操作数的计算结果为false,则第二个运算符确定OR表达式作为一个整体的计算结果是true还是false。

https://msdn.microsoft.com/en-us/library/6373h346.aspx