2012-07-16 58 views
-1

我不確定這是否是c#支持的功能,但它是一種我在javascript編程中使用的構造,我希望如果它支持使用c#的構造它(.net Framework 3.5)。C# - 分配布爾表達式的結果

我有以下工作代碼:

if (user.Status == AccountStatus.Active) { 
    status = true; 
} else { 
    status = false; 
} 

我想縮短如下:

status = (user.Status == AccountStatus.Active); 

在Javascript中,這將在括號中指定的評價真/假結果。這看起來不適合我在c#中,並導致一個通用的編譯錯誤。

是否有另一種方式來實現這一緊湊的方式?

+4

應該沒有編譯錯誤 – 2012-07-16 10:56:10

+0

你的語法是正確的,必須有另一個原因,這不起作用工作。 – Sjoerd 2012-07-16 10:56:20

+3

這應該在C#中工作。是user.Status實際上是類型AccountStatus(這是一個枚舉我猜?)? 「 – 2012-07-16 10:56:32

回答

6

這應該可以正常工作。

如應:

status = user.Status == AccountStatus.Active; 

你的語法是正確的。

+0

我認爲當我做出改變時,我是不平衡的大括號。這確實工作正常,謝謝。我很欣賞沒有括號的相同語法應該能夠工作的信息。 – michaelward82 2012-07-16 12:19:48

3

我是能夠成功地執行以下

bool a = (1 == 0); //returns false 

bool a = (1 == 1); //returns true