
C#で文字列がnullかどうかを判定する方法
プログラムを作成する時に初期値や判定値として使うのがnullです。
C#でも他のプログラミング言語と同様に、nullかどうかの判定や、初期値としてnullを設定することがよくあります。ここでは、C#で文字列がnullかどうかを判定する方法を紹介します。
- PG
- C#で文字列がnullかどうかを判定する方法を教えてください。
- PM
- 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を使用することが可能です。
- PG
- 文字列がnullかどうかを判定することができましたね。
- PM
- null判定はプログラミング構文の中でもよく使う構文なので、しっかり覚えておきましょう!
C#で文字列がnullかどうかを判定するにはif文を使用する
文字列がnullかどうかを判定するにはif文を使用しました。
nullかどうかを判定する処理は、開発の中でも多く使う処理になるので、今回のif文を使用して判定する方法をしっかり理解して、使ってみてください。