2012年4月26日

在c#的?運算子

C#有?和??運算子:

 

1. ?運算子
如果要有一段程式像這樣
if (checkBox1.Checked)
   MessageBox.Show("A");
else
  MessageBox.Show("B");

如果用?運算子可以改為以下
MessageBox.Show(checkBox1.Checked ? "A": "B");
那?是怎麼運作,結構如下:
條件? [當條件成立時的 給的值 ] : [當條件不成立時的 給的值]

2. ??用來判斷變數是否為null, 如果是則用其他值代替
Car myCar = (otherCar != null) ? otherCar : new otherCar();
Car myCar = otherCar ?? new otherCar(); // 跟上面一樣, 不適null則保持原值, 是null則new otherCar

參考

?? Operator

1 則留言:

  1. 第一個應該要改成? : 三元運算子比較貼切吧, ?運算子不是你說的這樣

    回覆刪除