1. HOME
  2. ブログ
  3. IT技術
  4. 【C#】nullの判定方法の色々 その2

【C#】nullの判定方法の色々 その2

nullの判定方法のいろいろ その2

C#のnullの判定方法にも色々種類がある。

実際に自分でコードを書く時に使うのは1種類でも良いが、他の記述法を知っていれば何かのときに役立つだろう。

その1では null の判定だったが、

その2では nullじゃない の判定についてまとめてみた。

 hoge != null

ストレートでわかりやすい。

ブログとか見てると ! が見にくいって書かれてるのをすこし見かけるので、他の書き方ができるのであれば使わないほうがいいのかも。

あと == と同様に、C#は演算子オーバーロードができるので、注意が必要。

演算子のオーバーロード - C# リファレンス | Microsoft Docs

hoge is not null

C# 9.0 から使えるようになった not の表記。 ! の代わり。

オーバーロードされていない != と同義。

直感的でわかりやすいので多用してるが、古いプロジェクトだと使えないこともある。

Unityだと Unity 2021.2 から使えるようになったはず。

hoge is object

hoge と object 型の 変数obj を比較してる。

hoge が 何かしらの型を持っている = nullじゃない って判定の仕方。

hoge is {}

C# 8.0 から使えるようになったプロパティパターンマッチング。

初見じゃ null チェックだとは思えない。以下解説へ

上記のように使って、プロパティの比較が書きやすいようになっているものを、

{}を記載しないことで、最初の is not null の部分が残るので、nullじゃない判定に使えるらしい。

知らないと何が起こっているのかぜんぜんわからない。

プロパティの比較で使うのはとても便利なので、そちらの機会に合わせて使ってみてください。

関連記事

採用情報

\ あの有名サービスに参画!? /

バックエンドエンジニア

\ クリエイティブの最前線 /

フロントエンドエンジニア

\ 世界を変える…! /

Androidエンジニア

\ みんなが使うアプリを創る /

iOSエンジニア