C#で文字列がnullかどうかを判定する方法

プログラムを作成する時に初期値や判定値として使うのがnullです。
C#でも他のプログラミング言語と同様に、nullかどうかの判定や、初期値としてnullを設定することがよくあります。ここでは、C#で文字列がnullかどうかを判定する方法を紹介します。
- プログラマー
- C#で文字列がnullかどうかを判定する方法を教えてください。
- プロジェクト
マネージャー - nullかどうかを判定する処理は、よく使うプログラミングの構文になるので、ここでしっかりマスターしましょう!
C#のnullについて
通常、文字列などの値は変数という入れ物があり、入れ物の中に値が入っている状態です。
nullというのは、その入れ物自体が無い状態を示します。
入れ物が無い状態というのは、変数の参照はできますが、プロパティやメソッドへアクセスすると、エラーが発生して処理が続行できない状態となります。
C#ではこの場合、System.NullReferenceExceptionという例外が発生します。
nullという状態は無効の状態のため、上記のように値を参照しようとするとエラーが発生します。しかしこのようなケースでは、nullかどうか分かっていれば参照する必要がなく、エラーの発生を回避できるので、値を参照する前にnullかどうかを判定することが必要です。
また、文字列やオブジェクトに対して初期化の処理を行いたい時、「nullの場合は初期化、nullではない場合は初期化しない」といった条件分岐を組み合わせて、処理をすることがあります。
C#で文字列がnullかどうかを判定する方法
文字列がnullかどうかを判定する方法で一番簡単なのは、if文を使うことです。
以下がif文を使ったサンプルコードです。
1
2
3
4
5
6
7
8
9
|
string value = null;
if (value == null)
{
Console.WriteLine("valueがnullです。");
}
else
{
Console.WriteLine("valueがnullではありません。");
}
|
実行すると、以下の結果になります。
if文は以下のように記述します。
1
|
if (value == null)
|
== を使って「文字列とnullが一致するか」という条件を表します。
逆にnullではないことを判定したい場合は、以下のように否定のif文を活用してください。
if (value != null)
続いて、if文の記述方法で三項演算子という記述方法があります。
1
2
|
string value = null;
Console.WriteLine(value == null ? "valueがnullです。" : "valueがnullではありません。");
|
このようにif else文がなくなりました。
代わりに使っているのが、三項演算子というものです。三項演算子は、
1
|
条件式 ? 条件式がtrueの場合 : 条件式がfalseの場合
|
という記述方法で、if else文で記述しているコードと同じことができます。
簡単なif文ですと、三項演算子で記述したほうがプログラムの行数も減り、シンプルに表現できます。
実行すると、以下の結果になります。
最初のif else文を使用していたコードと同じ結果になりました。他にも、string. IsNullOrEmptyやstring. IsNullOrWhiteSpaceを使用することが可能です。
- プログラマー
- 文字列がnullかどうかを判定することができましたね。
- プロジェクト
マネージャー - null判定はプログラミング構文の中でもよく使う構文なので、しっかり覚えておきましょう!
C#で文字列がnullかどうかを判定するにはif文を使用する
文字列がnullかどうかを判定するにはif文を使用しました。
nullかどうかを判定する処理は、開発の中でも多く使う処理になるので、今回のif文を使用して判定する方法をしっかり理解して、使ってみてください。
FEnet.NETナビ・.NETコラムは株式会社オープンアップシステムが運営しています。
株式会社オープンアップシステムはこんな会社です
秋葉原オフィスには株式会社オープンアップシステムをはじめグループのIT企業が集結!
数多くのエンジニアが集まります。

-
スマホアプリから業務系システムまで
スマホアプリから業務系システムまで開発案件多数。システムエンジニア・プログラマーとしての多彩なキャリアパスがあります。
-
充実した研修制度
毎年、IT技術のトレンドや社員の要望に合わせて、カリキュラムを刷新し展開しています。社内講師の丁寧なサポートを受けながら、自分のペースで学ぶことができます。
-
資格取得を応援
スキルアップしたい社員を応援するために資格取得一時金制度を設けています。受験料(実費)と合わせて資格レベルに合わせた最大10万円の一時金も支給しています。
-
東証プライム上場企業グループ
オープンアップシステムは東証プライム上場「株式会社夢真ビーネックスグループ」のグループ企業です。
安定した経営基盤とグループ間のスムーズな連携でコロナ禍でも安定した雇用を実現させています。
株式会社オープンアップシステムに興味を持った方へ
株式会社オープンアップシステムでは、開発系エンジニア・プログラマを募集しています。
年収をアップしたい!スキルアップしたい!大手の上流案件にチャレンジしたい!
まずは話だけでも聞いてみたい場合もOK。お気軽にご登録ください。


C#新着案件New Job
-
システム開発/東京都新宿区/【WEB面談可/C#経験者/20代前半の方活躍中/経験1年以上の方活躍中】/在宅勤務
月給29万~34万円東京都新宿区(新宿駅) -
システム開発/東京都新宿区/【WEB面談可/C#経験者/20代後半~40代の方活躍中/経験年数不問】/在宅勤務
月給41万~50万円東京都新宿区(新宿駅) -
デバック、テスト項目の作成/神奈川県横浜市/【WEB面談可/C#経験者/20代前半の方活躍中/経験1年以上の方活躍中】/在宅勤務
月給29万~34万円神奈川県横浜市(桜木町駅) -
デバック、テスト項目の作成/神奈川県横浜市/【WEB面談可/C#経験者/20代後半~40代の方活躍中/経験年数不問】/在宅勤務
月給41万~50万円神奈川県横浜市(桜木町駅) -
基幹システム開発導入/東京都新宿区/【WEB面談可/C#経験者/20代前半の方活躍中/経験1年以上の方活躍中】/在宅勤務
月給29万~34万円東京都新宿区(西新宿駅) -
基幹システム開発導入/東京都新宿区/【WEB面談可/C#経験者/20代後半~40代の方活躍中/経験年数不問】/在宅勤務
月給41万~50万円東京都新宿区(西新宿駅)