对象引用未设置为使用 combobox.selecteditem.tostring();的对象实例
本文关键字:实例 对象 tostring selecteditem 设置 combobox 对象引用 | 更新日期: 2023-09-27 18:36:20
我正在尝试替换 .text 文件中的某些文本行,但收到上面指定的错误。请帮忙,我不知道错误意味着什么,并且到处寻找试图找到解决此问题的方法。对我来说没有什么意义,提前感谢!如果您需要任何其他信息,请询问,而不是只是将我的帖子设置为题外话,我真的不明白这意味着什么。
当前代码:
private void DeleteButton2_Click(object sender, EventArgs e)
{
if (comboBox2.SelectedItem == "")
{
MessageBox.Show("Please Select a Contact.");
}
else
{
comboBox2.Items.Remove(comboBox2.SelectedItem);
comboBox1.Items.Remove(comboBox2.SelectedItem);
string currentselection = comboBox2.SelectedItem.ToString();
File.WriteAllLines(currentselection + ".txt", File.ReadAllLines(currentselection + ".txt").Select(line => line.Replace(currentselection, "")));
}
}
尝试访问 null 的内容时,对象引用未设置为对象的实例。在您的情况下,comboBox2.SelectedItem
显示为空。在访问它之前,您需要检查一下。做== ""
不是一回事!
更改您的:
if (comboBox2.SelectedItem == "")
自:
if (comboBox2.SelectedItem == null)
此外,您会注意到,一旦您删除了该项目 - 尝试使用 SelectedItem
访问它将不再起作用。
试试这个。在此行下放置一个断点。
comboBox2.Items.Remove(comboBox2.SelectedItem); - 第一个
观察复选框 2.items 如何更改,并且 seletItem 为空。
这意味着SelectedItem
为空。 如果在组合框中未选择任何内容,则SelectedItem
将为 null。
Null引用异常始终意味着您正在尝试访问值为 null 的成员。 您应该使用调试器并在发生该错误时检查所有变量。