C# 開発

C# 配列から重複データを除去する (1) - 旧来のフラグ編 -

準備

(なし)

デザイン

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

サンプルコード (C#)

namespace WinFormsApp1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
        }

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

            bool bExist = false;
            for (int i = 0; i < s1.Length; i++)
            {
                for (int j = 0; j < s2.Length; j++)
                {
                    if (s1[i] == s2[j])
                    {
                        bExist = true;
                    }
                }

                if (!bExist)
                {
                    Array.Resize(ref s2, s2.Length + 1);
                    s2[s2.Length - 1] = s1[i];
                }
            }

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

解説

フラグを使った処理です。昔から存在するプログラミング言語ではこのように書いていたと思います。動的配列を使用しています。

結果

動作確認環境

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

ログ

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

-C# 開発