if (test > 0) // 任何 Boolean 運算式
{
// test 為 true 時,所傳回的運算式。 可為逗號運算子。
return expression1
}
else
{
// test 為 false 時,所傳回的運算式。 可為逗號運算子。
return expression2
}
test ? expression1 : expression2
- ?: 運算子可當做 if...else 陳述式的簡短表示法
- 在一些大型運算式中,若使用 if...else 陳述式會顯得很冗長,因此通常會只用此大型運算式其中一部分
- C# 2.0 後的運算子
- 如果運算元不是 null,則會傳回左方運算元,否則傳回右方運算元
int? test = null;
int n = test == null ? 0 : test;
- 主要判別 test != null (null coalescing operator) 情況
int? test = null;
int n = test ?? test;
- 另個特性是可直接串連,最後如果 ABCD 都 null 就傳 E
int n = A ?? B ?? C ?? D ?? E;
- C# 6.0 後的運算子
- 成員存取 (?.) 或對 (?[) 作業編製索引之前,可用來測試是否為 Null
// null if customers is null
int? length = customers?.Length;
// null if customers is null
Customer first = customers?[0];
// null if customers, the first customer, or Orders is null
int? count = customers?[0]?.Orders?.Count();
- 協助您撰寫較少的程式碼來處理 Null 檢查,特別是遞減至資料結構
沒有留言:
張貼留言