爲什麼我不能運行下面的代碼?三元「?:operator」在C#中有錯誤嗎?
static int num = 0;
static void Main(string[] args)
{
(num == 0) ? inc() : dec();
}
public static void inc()
{
num++;
}
public static void dec()
{
num--;
}
爲什麼不C#允許我使用三元「:」操作符來檢查條件,然後無需返回任何值,因此運行的方法?等價於這個:
if (num == 0) inc();
else dec();
我不知道,如果在其他語言應用相同的規則,例如,JAVA,C++等..
@imad:我現在沒有時間回答 - 但我建議你拿到C#4語言規範,並在其中閱讀:) –