c#linq比较出错

时间:2014-04-19 11:23:41

标签: c# linq casting compare

我有这个linq,在我的表单上有一些文本框,显示列表框中所选项目的文本框中的数据绑定(数据库中的数据源)。

var j = (from s in db.Movies where s.Movietitle == listbox1.SelectedValue select s).First();

我必须将电影标题与列表框中所选项目进行比较,它们必须相等,但由于错误,我的代码无法继续运行:警告1可能的非预期参考比较;要获得值比较,请在右侧输入'string'

我在列表框之前输入了(字符串),但仍然没有变化。可能是什么问题?

1 个答案:

答案 0 :(得分:2)

listbox1.SelectedValue投射为sting并使用FirstOrDefault(),因为查询可能不会返回任何结果。

使用s.Movietitle.ToString(),以避免"Possible unintended reference comparison"。问题是s.MovieTitle是引用类型。例如,如果它是object类型,则选择的比较运算符"=="正在比较两个对象...通过引用进行比较,您可能会猜到。