2014-04-19 57 views
0

我有這個LINQ和我的形式有文本框,顯示所選項目的文本框的數據綁定從列表框中(來自數據庫的數據源)。錯誤在C#中的LINQ比較

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

我必須在電影標題比較列表框中選擇的項目,他們必須是平等的,但我的代碼無法繼續,因爲錯誤的運行:警告1個可能出現的意外參考比較;得到一個值比較,投右側鍵入列表框,但仍然沒有改變之前「串」

我鑄造(串)。可能是什麼問題?

+1

可替代地,使用's.Movietitle == listbox1.Text' –

+1

的SelectedValue是對象類型。使用它的ToString方法 –

+0

SelectedValue.ToString()相同的錯誤 – user3551399

回答

2

Cast listbox1.SelectedValue as sting and use FirstOrDefault(),因爲查詢可能不會返回任何結果。

使用s.Movietitle.ToString(),避免"Possible unintended reference comparison"。問題是s.MovieTitle是引用類型。例如,如果它是object類型,則比較運算符"=="選擇的是比較兩個對象,如您可能猜到的那樣。

+0

字符串轉換後,我收到同樣的錯誤,但s.Movietitle和綠色下劃線 – user3551399

+0

s.Movietitle的定義是什麼? – Andrew

+0

's.Movietitle.ToString()' – Andrew