2012-02-10 26 views
-7

if b == c then然後在布爾中寫一個是否可以使用c#編寫a = b == c?

是可以用c#.net寫的嗎?

+13

親自試一試,看看... – benjy 2012-02-10 14:06:24

+2

你試過了嗎? – Nick 2012-02-10 14:06:35

+2

注意的意思更清晰,如果你寫一個'=(B == C);' – 2012-02-10 14:07:28

回答

4

是的,但你爲什麼不只是試試呢?它不僅可能來寫它,但它實際上是合法的C#。它會將布爾表達式b == c的值分配給變量a,我假設您隱式或顯式聲明爲bool。風格上,我更願意看到

a = (b == c); 

var a = (b == c); 

bool a = (b == c); 

我覺得這些都是比較容易比沒有括號閱讀。

4

是因爲等號(==)具有比分配一個(=)的優先級高,所以它首先得到評價。

+1

+1非常好的一點! [7.2.1運算符優先級和關聯性](http://msdn.microsoft.com/zh-cn/library/aa691323%28v=vs.71%29.aspx)。 – 2012-02-10 14:22:14

1

是嗎?

問題是什麼?

var b = 1; 
var c = 1; 
var a = b == c; 
0

不完全知道什麼你在這裏得到,但以下是有效的:

var a = (b == c) 

其中將真或假取決於b和c是否相等。

0

是的,這是可能的。 編譯器將首先評估b == c,然後將值賦給a。

相關問題