【C#】配列の空要素(null)を一括削除

この記事では、C#で配列の空要素(null)のみを一括で削除する方法についてソースコード付きで紹介します。

空要素(null)を一括削除

配列から空要素(null)のみを除去したい場合があります。
しかし、配列の要素数は固定なので、特定の要素のみ削除できません。
そこで、要素数を変動できるリストに一度変換し、そこで空要素のみ削除してから配列に戻してやります。

【手順】
①配列をリストに変換 を生成。
②リストのRemoveメソッドでnull要素のみ削除
③リストを配列に変換する。

ソースコード

サンプルプログラムのソースコードです。

方法1

※2つ以上nullがある場合は先頭に近いnull要素1つだけ削除します。

using System;
using System.Linq;
using System.Collections.Generic;

public class Test
{
        public static void Main()
        {
        // 配列の宣言
        var array = new[] {"沖田", null, "モードレッド"};
        
        // 配列→リスト 
        List<string> list = new List<string>(array);
        
        // 空要素(null)を削除
        list.Remove(null);
        
        // リスト→配列
        var array2 = list.ToArray();
        
        // 配列の中身表示
        foreach (var a2 in array2) Console.WriteLine(a2); // 沖田, モードレッド
        }
}

【関連記事】
C#入門 サンプル集

関連記事

コメント

  1. hoge より:

    var array = new[] { “沖田”, null, null, “モードレッド” };
    の場合nullは一つしか消えません。
    nullが一つ残ったままになります。
    出力結果は「沖田,null,モードレッド」になります。

    記事を修正した方がいいと思います。