条件演算子
if文で書くと4行になるところが、条件演算子を使うと1行で書ける。たしかに便利だが、慣れないと普通にif文使ってしまいそう。
// ?より前が条件式 // trueなら1、falseなら0を返却 var num = list.Contains(key) ? 1 : 0;
null合体演算子
// GetMessageの戻り値がnullの場合、message変数にはDefaultMessageの戻り値をセットする // GetMessageがnull以外を返したら、message変数にそのままセットする var message = GetMessage(code) ?? DefaultMessage();
こちらもif文で書くと複数行になるところが、null合体演算子を使えば1行でまとめられる。
null条件演算子
// sale変数がnull以外なら、Productプロパティを返す // sale変数がnullなら、そのままnullを返す return sale?.Product;
これは条件演算子を使っても書ける。
return sale == null ? null : sale.Product;
null条件演算子は配列に対しても書けるが、その場合はドットが不要。
// customersがnull以外なら、配列の0番目の要素を返す return customers?[0];
これらを使えこなせば、if文に頼らず簡潔なコードが書けそう!けど、常に意識しないと絶対if文を使っちゃいそうではある。。