2017-02-17 70 views
0

我想有以下結果C#布爾操作使用

A B = 
T T T 
F T F 
T F F 
F F F 

我使用這一條款來實現它

A || B 

,但它並沒有提供正確的結果。

我使用了錯誤的操作數嗎?

+7

使用和運營商A &&乙 –

+1

@HimBromBeere監守''||是在C#中的邏輯運算符? – InBetween

+1

@InBetween適用於多種語言。 – HimBromBeere

回答

4

Allthough所有其他的答案是正確的,我想指出,你所要求的操作既不是||也不&&。實際上你要求的運營商是&(和你錯誤使用的等價物是|)。

而且有什麼區別? ||&&是短路操作員。那是什麼意思?這意味着無論是在運營商的右側只評估如果左手邊是true。這不與運營商的非短路版本發生(真正bolean邏輯運營商):

public bool True() 
{ 
    Console.WriteLine("True called."); 
    return true; 
} 

public bool False() 
{ 
    Console.WriteLine("False called."); 
    return false; 
} 

var b1 = False() && True(); //b1 will be false and "False called." will be 
          //printed on the console. 

var b2 = False() & True(); //b2 will be false and "False called. True called." 
          //will be printed on the console. 
3

你想要一個and,但你使用了一個or

+2

顯然,OP不清楚這些操作員的工作方式。對此的一點澄清將真正提高答案 –

2

使用&&(這意味着 '和')

||手段 '或'

+2

顯然,OP不清楚這些操作員的工作方式。對此的一點澄清將真正提高答案 –

3

我使用了錯誤的操作?

是的,你是。

您需要&&運營商只有當所有的條件都這將是真實的。

您正在使用OR||運營商,這將給你真實的,即使其中的一個條件是

使用&&操盤OR||