C# 開発

C# 配列から重複データを除去する (2) – IndexOf 編 -

準備

(なし)

デザイン

  • フォーム (Form1) にボタン (button1) を配置します。
  • フォーム (Form1) にリストボックス (listBox1) を配置します。

サンプルコード (C#)

// 名前空間の追加
// (なし)

// コード
private void button1_Click(object sender, EventArgs e)
{
  string[] s1 = { "NEC", "SONY", "DELL", "DELL", "SONY" };
  string[] s2 = new string[0];

  foreach (string item in s1)
  {
    if (Array.IndexOf(s2, item) == -1)
    {
      Array.Resize(ref s2, s2.Length + 1);
      s2[s2.Length - 1] = item;
    }
  }

  foreach (var item in s2)
  {
    listBox1.Items.Add(item);
  }
}

解説

Array クラスの IndexOf メソッドを使って書き直しています。パターン (1) と比較して、ループ処理が一つ減ったので、かなりスマートになっています。

結果

動作確認環境

Visual Studio 2022 Professional (.NET 7 C#11)

ログ

初版:2016.03.14 Visual Studio 2015 Professional (C# 6.0)

-C# 開発