C# 未使用combobox将对象引用设置为对象的实例。selecteditem.tostring();
我正在尝试替换.text文件中的某些文本行,但遇到上面指定的错误。请帮忙,我不知道这个错误是什么意思,我到处找,试图找到解决这个问题的方法。没有什么对我来说是有意义的,提前谢谢!如果你需要任何其他信息,请询问,而不仅仅是将我的帖子设置为离题,我也不明白这意味着什么 当前代码:C# 未使用combobox将对象引用设置为对象的实例。selecteditem.tostring();,c#,string,file-io,combobox,C#,String,File Io,Combobox,我正在尝试替换.text文件中的某些文本行,但遇到上面指定的错误。请帮忙,我不知道这个错误是什么意思,我到处找,试图找到解决这个问题的方法。没有什么对我来说是有意义的,提前谢谢!如果你需要任何其他信息,请询问,而不仅仅是将我的帖子设置为离题,我也不明白这意味着什么 当前代码: private void DeleteButton2_Click(object sender, EventArgs e) { if (comboBox2.SelectedItem == ""
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, "")));
}
}
试试这个。在这条线下面放一个断点 comboBox2.Items.Remove(comboBox2.SelectedItem);-第一个
观察checkbox2.items如何变化,选择项为空。这意味着
SelectedItem
为空<如果组合框中未选择任何内容,则代码>选择编辑项将为空
NullReference异常始终表示您试图访问null值上的成员。出现错误时,应使用调试器并检查所有变量。在尝试访问空对象时,对象引用未设置为对象的实例。在您的情况下,
comboBox2.SelectedItem
显示为空。在访问它之前,您需要检查它。做==”
不是一回事
更改您的:
if (comboBox2.SelectedItem == "")
致:
另外,您会注意到,一旦您删除了该项目,尝试使用
SelectedItem
访问该项目将不再有效。哪一行导致异常?comboBox2.SelectedItem
当然为空。@RohitVats这是我不理解的,为什么在程序中我将其设置为某个值时,comboBox2.SelectedItem
null?如果在其上设置断点,comboBox2.SelectedItem等于什么?当您从组合框中删除selectedItem(首先删除)时,当您在输入方法之前读取它的null时,它应该为null,或者在这一行之后变为null-comboBox2.Items.remove(comboBox2.selectedItem)代码>因为您从ItemSource中删除了selectedItem,而ItemSource会自动将selectedItem设置为空。是吗?非常感谢你!我明白我现在做了什么!当我能回答的时候,我会回答。
if (comboBox2.SelectedItem == null)