我有这个linq,在我的表单上有一些文本框,显示列表框中所选项目的文本框中的数据绑定(数据库中的数据源)。
var j = (from s in db.Movies where s.Movietitle == listbox1.SelectedValue select s).First();
我必须将电影标题与列表框中所选项目进行比较,它们必须相等,但由于错误,我的代码无法继续运行:警告1可能的非预期参考比较;要获得值比较,请在右侧输入'string'
我在列表框之前输入了(字符串),但仍然没有变化。可能是什么问题?
答案 0 :(得分:2)
将listbox1.SelectedValue
投射为sting
并使用FirstOrDefault()
,因为查询可能不会返回任何结果。
使用s.Movietitle.ToString()
,以避免"Possible unintended reference comparison"
。问题是s.MovieTitle
是引用类型。例如,如果它是object
类型,则选择的比较运算符"=="
正在比较两个对象...通过引用进行比较,您可能会猜到。