文字列処理

[VB.NET] Nullか文字列を判定する方法

今回は、VB.NETでNullか文字列を判定する方法についてご紹介します。

VB.NETでNullを判定する方法

VB.NETでは、変数がNothing(=null)かどうかを判定する際に、Is Nothing 演算子を利用します。

以下のコードでは、文字列型の変数strがNothingかをチェックし、Nothingの場合にメッセージを表示します。

実行結果

strはNothingです。

この方法では、変数が参照を持っていない状態を簡単にチェックできます。
また、IsNot Nothingを使うことで、逆にNothingではないことを判定できます。

文字列の空文字・空白・型を判定する方法

文字列の中身を判定する際、以下のような方法があります。

  • String.IsNullOrEmpty: 変数がNothingまたは空文字かどうかを判定
  • String.IsNullOrWhiteSpace: 上記に加えて、空白のみの文字列も同時に判定
  • TypeOf ~ Is String: 変数が文字列型かどうかを判定

String.IsNullOrEmptyを使った判定

次のコードでは、String.IsNullOrEmptyで空文字やNothingの両方をチェックしています。

実行結果

strはNothingまたは空文字です。

String.IsNullOrWhiteSpaceを使った判定

String.IsNullOrWhiteSpaceは、空白だけの文字列も検出したい場合に便利です。

実行結果

strはNothing、空文字、または空白のみです。

TypeOf演算子でオブジェクトが文字列か判定

型が明確でないObject型の変数を扱う場合、TypeOf ~ Is Stringを使うことで文字列かどうかを確認できます。

実行結果

objは文字列です: これは文字列です。

データベースのDBNullチェック

データベースから取得した値は、DBNull.Valueとして返される場合があります。
この場合は、Convert.IsDBNullなどを使用して判定します。

実行結果

dbValueはDBNullです。

まとめ

VB.NETでNullか文字列かを判定するには、NothingやDBNullの違いをしっかり把握することが大切です。

文字列の中身を検査するには、String.IsNullOrEmptyやString.IsNullOrWhiteSpaceを活用すると便利です。

Object型を扱う場合はTypeOf演算子で型をチェックし、エラーを回避しながら安全なキャストを行います。