C# 组合框引发NullReferenceException
我有一个从列表中填充的组合框。将列表添加到组合框的项目后,我会尝试将所选项目设置为列表中的一个项目。此项绝对不为空 此时,将引发NullReferenceException。但是,所选项目已更改为我希望的项目。如果我只重新运行分配给SelectedItem的代码行,它不会引发另一个错误 SelectedItem的初始值为空C# 组合框引发NullReferenceException,c#,combobox,C#,Combobox,我有一个从列表中填充的组合框。将列表添加到组合框的项目后,我会尝试将所选项目设置为列表中的一个项目。此项绝对不为空 此时,将引发NullReferenceException。但是,所选项目已更改为我希望的项目。如果我只重新运行分配给SelectedItem的代码行,它不会引发另一个错误 SelectedItem的初始值为空 MyComboBox.Items.AddRange(mylist.Select(t => (object)t).ToArray()); try { MyComb
MyComboBox.Items.AddRange(mylist.Select(t => (object)t).ToArray());
try
{
MyComboBox.SelectedItem = mylist[0]; //Checked - not null.
}
catch (Exception e) { }
NullReferenceException来自什么
已解决:在SelectedIndexChanged事件中引发异常。如果设置MyComboBox.SelectedItem=mylist[x],请查看它是否有效。。很有可能您没有将其实际设置为列表中的项目。您将项目添加到
MyComboBOx
中,但请参考sequenceselector
的SelectedItem
属性。这是两个不同的对象吗?@Ek0nomik,我刚刚错过了一个。您提供的代码片段没有问题。你需要提供更多的上下文。也许你应该打开“抛出异常时中断”来找出是哪个LOC导致了你的问题。谢谢RJ。不幸的是,我使用的是VS Express 2010,它没有这个选项。但是,我已经找到了错误的来源。这是在所选索引发生更改时调用的事件中发生的事情-我试图对一个对象调用一个方法,该对象恰好在第一种情况下为null。它被设置为的项肯定在列表中,并且肯定不是null。Jay,他希望将其设置为初始值[0]。您发布的内容是在For语句(带有x)中选择所需值时将使用的内容。呃,很抱歉,我不清楚,我使用x表示一个整数值,因为我不知道他的列表中有多少元素,也不知道他希望它默认为哪个元素。