Lambda表达式中带有AND运算符的Lambda表达式

本文关键字:Lambda 表达式 运算符 AND | 更新日期: 2023-09-27 18:02:44

我得到一个错误(

对象引用未设置为对象的实例

)当我尝试做数据库操作时,我似乎找不到什么问题,必须是这个p.ADRESA.Equals(listBox1.SelectedItem.ToString()的东西,因为没有它的代码工作,但我需要两个条件,请帮助

 Int16 idValoare =Convert.ToInt16 (comboBoxIDValoare.SelectedItem.ToString());
        if (selectedTabel.Equals("CUSTOMER"))
        {
            if (selectedColoana.Equals("ADRESA"))
            {
                CUSTOMER customer = db.CUSTOMERs.First(p => (p.CUSTOMERID == idValoare) && (p.ADRESA.Equals(listBox1.SelectedItem.ToString())));
                customer.ADRESA = textBoxValoare.Text;
                db.SaveChanges();
            }
}

Lambda表达式中带有AND运算符的Lambda表达式

您不能在LINQ方法中使用ToString(),但您可以尝试:

string selectedItem = listBox1.SelectedItem.ToString();
CUSTOMER customer = db.CUSTOMERs.First(p => (p.CUSTOMERID == idValoare) && (p.ADRESA.Equals(selectedItem)));

我希望这对你有帮助。请反馈。

看起来你的listbox1没有选择项目。在执行任何代码之前,您应该添加一个额外的条件来执行检查

:

if (listbox1.SelectedItem == null)
{
    //get the hell out of here
}
else
{
   //do your stuff
}