2016-03-31 9 views
0

2つのIDを比較していくつかのresult.itを取得しようとしましたが、他の文字列では動作しません。 このようにしてみました。 result.Iがここなぜ私は2つのIDをCで比較するのですか

var x = mainFaires.ElementAt(27261); 

含まれ、このリストで見つけ、それは与えなかった.butここで

var neededData = mainFaires.Where(c => c.trimacid == passId); 

mainFairesリストでpassId= OX20160330HAVHAV、それがこのidが含まれてどこかにidと同じですが、結果が出ませんでした。私は理由を考えることができません。

+0

ElementAtの代わりにFirst()を使用すると結果が得られますか? LINQ to SQLを使用している場合は、これをSQLに変換することはできませんが、First()はTOP 1に変換することができます。 –

+0

IDの大文字小文字を同じにしましたかチェックしましたか? –

答えて

0

ElementAtが位置を見つけます。

あなたは、あなたが実際に問い合わせをコミットし、結果を得るために.ToList().First()または.FirstOrDefault()を使用する必要があり、レコード

var x = mainFaires.Select(o => o.trimacid == 27261); 
0

を見つけるために選択し使用する必要があります。あなたのコードではクエリのみが定義されていましたが、データコレクションには実際には送信されませんでした。あなたは結果として、項目を1つだけが予想される場合

、あなたはコードは次のようになりますよ:何の項目が見つからなかった場合は

var neededData = mainFaires.Where(c => c.trimacid == passId).FirstOrDefault(); 

は、neededDataがNULLであるか、どのようなデフォルト値があるでしょう。ここで文書を確認することもできますhttps://msdn.microsoft.com/en-us/library/system.linq.enumerable%28v=vs.100%29.aspx

関連する問題