【君には読めるか?】??×?の合わせ技
今回はC#における【?】の合わせ技について説明する
さっそくだが、これが読めるだろうか
if(Model.userList?.Any() ?? false){
// ...処理など
}
どうだろうか?さっと読めたなら、この先は読まなくていい。
ちなみに筆者は『あれ?』となった。
というわけで、答えに行く前に、まずは自分なりに考えてみてほしい。
スポンサードサーチ
?を解説していく
ということで、?や??について解説する。
- ??…合体演算子
・左側がnullでないなら、左側で評価
・左側がnullなら、右側で評価 - ?…条件演算子
・?手前のプロパティがnullでないなら、Any()まで評価・実行
・?手前のプロパティnullならnullを返す
というわけで、先程のコードの内容は、
①Model.userListがあればAny()で評価し、データがあればif分の中を処理する
②Model.userListがnullなら、??の右側であるfalseが評価され、if分の中には入らない
と言う仕組みになっている
まとめ
というわけで、今回は?の合体演算子と条件演算子について説明した。
合わせ技になると、?になる人は是非この解説を覚えていてほしい。
その他勉強になるプログラミング記事:
>>C#系の記事