有没有办法将列表框中的对象添加到列表中?

时间:2017-03-12 05:51:04

标签: c# windows-forms-designer

我正在尝试将列表框中的对象添加到List中。

以下代码是我尝试它的方式,但是当我尝试在List中添加变量时,它会抛出一个Null Exception。

列表标题为游戏

游戏是一个自定义类。

foreach(var item in collectionListBox.Items)
        {
            games.Add(item as Game);
        }

2 个答案:

答案 0 :(得分:0)

  

这是一个NullReferenceException,Listbox是使用foreach(游戏中的游戏g){collectionListBox.Items.Add(g.ToString());}

从List中填充的

由于您是这样添加的,因此您的列表框中包含一堆string,因为您使用Add(g.ToString())添加了它们。然后,当您将它们拉出时,您将在下面的代码中浏览列表框中的项目,然后调用item as Game,但itemstring,这是不可能的:

foreach(var item in collectionListBox.Items)
{            
    games.Add(item as Game);
}

你必须这样做:

foreach(var item in collectionListBox.Items)
{            
    games.Add(item.ToString());
}

答案 1 :(得分:0)

使用Listview更容易,并使用objects标签属性将列表视图中的对象添加到列表中。