0

としてオブジェクトのリストがありますICollection<objectA> listA。今、この listA をループして、条件を一致させ、見つかった結果を変数に代入しようとしています。私は以下を試しました:

varB.someDesc = listA.FirstOrDefault(x=>x.ID == varB.ID).someDesc

x.IDオブジェクトの null 参照であることを訴えるエラー。ブレークポイントを入れると、 listA に多くの項目があり、 attribute があることがわかりますID。何がうまくいかないのかわかりますか?

4

2 に答える 2

3

FirstOrDefault() の戻り値を次のように検証することをお勧めします。

var item = listA.FirstOrDefault(x=>x.ID == varB.ID);
if (item != null)
    varB.someDesc = item.someDesc;

エラーは、あなたが考えているものと正確に一致しない場合があります。

于 2013-11-12T03:28:09.327 に答える
-2

このコードを試してください。

varB.someDesc = listA.Where(x=>x.ID == varB.ID).FirstOrDefault().someDesc

割り当てる前に Object Null を確認することをお勧めします。

于 2013-11-12T03:10:49.453 に答える