【C#】String.IsNullOrEmptyメソッド vs String.IsNullOrWhiteSpaceメソッド(IsNullOrEmptyとIsNullOrWhiteSpaceの違い)

String.IsNullOrEmptyメソッドとは

指定された文字列がnullまたは空の文字列(””)であるかどうかを示します。

文字列がnullかどうかを判定し、nullでない場合には、空の文字列かどうかを判定します。

詳しくは、以下の記事を参考ください。

【C#】String.Emptyフィールドとnull、空文字列(””)の違い(String.IsNullOrEmptyメソッドの使い方)

2021.03.23

 

String.IsNullOrWhiteSpaceメソッドとは

String.IsNullOrWhiteSpaceメソッドは、指定された文字列が「null」または空であるか、空白文字だけで構成されているかどうかを判定します

詳しくは、以下の記事を参考ください。

【C#】String.IsNullOrWhiteSpaceメソッドとは

2021.05.30

 

IsNullOrEmptyとIsNullOrWhiteSpaceの違いとは

IsNullOrEmptyとIsNullOrWhiteSpaceの違いは、「空白の判定ができるかできないか」です。

メソッド名 説明
IsNullOrEmpty nullもしくは空の文字列を判定
IsNullOrWhiteSpace nullもしくは空の文字列、空白を判定

 

サンプルコード

using System;

namespace c_IsNullOrWhiteSpace
{
    class Program
    {
        static void Main(string[] args)
        {
            string judge = " ";

            if (string.IsNullOrWhiteSpace(judge))
            {
                Console.WriteLine("nullか空文字か空白です。");
            }
            else
            {
                Console.WriteLine("nullと空文字と空白意外です。");
            }

        }
    }
}

実行結果:

nullか空文字か空白です。

上記をString.IsNullOrEmptyに置き換えてみます。

using System;

namespace c_IsNullOrWhiteSpace
{
    class Program
    {
        static void Main(string[] args)
        {
            string judge = " ";

            if (string .IsNullOrEmpty(judge)) // IsNullOrEmptyメソッドに置き換える
            {
                Console.WriteLine("nullか空文字か空白です。");
            }
            else
            {
                Console.WriteLine("nullと空文字と空白意外です。");
            }

        }
    }
}

実行結果:

nullと空文字と空白意外です。

IsNullOrEmptyメソッドでは、「空白」が判定されずにfalseが返ってきていることがわかります。

そのため、文字列の「空白」を判定する必要がある場合には、IsNullOrWhiteSpaceメソッドを用いるのが望ましいです。

 

おすすめ書籍・Udemy

■C#を学習し始めた方向け
やさしいC 第3版 (「やさしい」シリーズ)

1週間でCの基礎が学べる本

確かな力が身につくC「超」入門 第2版 (Informatics&IDEA)

■C#をある程度学習した方向け
基礎からしっかり学ぶCの教科書 改訂新版 (マイクロソフト関連書)

独習C 新版

Effective C 6.0/7.0

 

■Udemyのおすすめ講座①
C#初心者が最初に身に着けるべき30の文法

■Udemyのおすすめ講座②
初心者でも最速でシゴトに使えるC#!