C#
 Computer >> コンピューター >  >> プログラミング >> C#

C#で文字列を空の文字列に初期化する方法【nullとstring.Emptyの使い分け】

C#で文字列を空の状態に初期化したい場合、主に2つの方法があります。まずは、null を代入して初期化する最もシンプルな方法から見ていきましょう。

string myStr = null;

初期化した文字列が空(またはnull)かどうかを確認するには、組み込みメソッド IsNullOrEmpty() を使用します。

if (string.IsNullOrEmpty(myStr)) {
    Console.WriteLine("文字列は空またはnullです!");
}

それでは、完全なコードを確認してみましょう。

サンプルコード

using System;

namespace Demo {
    class Program {
        static void Main(string[] args) {
            string myStr = null;

            if (string.IsNullOrEmpty(myStr)) {
                Console.WriteLine("文字列は空またはnullです!");
            }
            Console.ReadKey();
        }
   }
}

実行結果

文字列は空またはnullです!

文字列を空の文字列として初期化するもう一つの方法が、string.Empty を使うやり方です。null ではなく「長さゼロの文字列」として扱われるため、NullReferenceException のリスクを避けられる点で、実際の開発ではこちらが推奨されることも多くあります。

サンプルコード

using System;

namespace Demo {
    public class Program {
        public static void Main(string[] args) {
            string myStr = string.Empty;

            if (string.IsNullOrEmpty(myStr)) {
                Console.WriteLine("文字列は空またはnullです!");
            } else {
                Console.WriteLine("文字列は空でもnullでもありません!");
            }
        }
   }
}

実行結果

文字列は空またはnullです!

なお、nullstring.Empty はどちらも IsNullOrEmpty() で「空」と判定されます。両者の違いは、null が「インスタンスそのものが存在しない」状態であるのに対し、string.Empty は「中身が空の文字列インスタンス」であるという点です。用途に応じて適切な初期化方法を選択しましょう。

  1. 【C#入門】イベントの宣言方法をサンプルコードで解説

    イベントとは、キーの押下、マウスのクリック、マウスの移動といったユーザーアクションや、システムが生成する通知など、プログラムの内外で発生する何らかの出来事を指します。イベントはクラス内で宣言・発生させられ、デリゲートを使用してイベントハンドラーに関連付けられます。この関連付けは、同じクラス内でも別のクラスでも行うことが可能です。そして、イベントを保持しているクラスが、そのイベントを外部に公開(パブリッシュ)する役割を担います。クラス内でイベントを宣言するには、まずそのイベントのためのデリゲート型を宣言する必要があります。例えば、以下のように記述します。public delegate strin

  2. C#で空の文字列配列を宣言する方法を解説

    C#では、文字列を文字の配列として扱うこともできますが、一般的には string キーワードを使って文字列変数を宣言するのが主流です。string キーワードは、System.String クラスのエイリアス(別名)として機能します。空の文字列配列の宣言方法空の文字列配列を宣言するには、以下のように記述します。string[] arr = new string[] {}; // 空の文字列配列このように宣言すると、要素を一切持たない配列が生成されます。それでは、この空の配列を出力するとどうなるのか、実際のコードで確認してみましょう。サンプルコードusing System; namespace