リストボックスを介してある配列リストから別の配列リストにアイテムを移動しようとしているプログラムがありますが、2番目の配列リストに追加しようとすると、そこに追加されません。
ArrayList list1 = new ArrayList();
ArrayList list2 = new ArrayList();
list1.Add(new Class(var1, var2, var3, var4, var5, var6, var7));
foreach (object o in list1)
{
class m = (class)o;
selectionBox.Items.Add(m);
}
上記のすべてを初期化し、すべてをクラスに追加してからリストボックスに追加しました。XML ファイルから取得した変数に注意してください。
bool req = true;
if (selectionBox.SelectedItem != null)
{
Count++;
errorLabel.Text = "";
for (int i = 0; i < selectionBox.Items.Count; i++)
{
if (selectionBox.GetSelected(i) == true)
{
class m = selectionBox.SelectedItem as class;
if (m.var2 == ((Modules)selectionBox.Items[i]).var2)
{
list2.Add(list1.IndexOf(i));
}
}
}
}
else
{
errorLabel.Text = "Error";
}
ここで、2 番目の配列リストに追加しようとしていますが、if ステートメントは機能しませんが、print ステートメントでこれを試してみましたが正しいです。それでは、次の行がリストに追加されない理由を誰か教えてもらえますか?
list2.Add(list1.IndexOf(i));