Question

I have a list of objects as ICollection<objectA> listA. Now I'm trying to loop thru this listA and trying to match a condition and assign the result found into a variable. I tried below:

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

Error complaining that x.ID is object null reference. When I put a break point, I can see there are many items in listA and there is an attribute ID. May I know what goes wrong?

Was it helpful?

Solution

I suggest validating the return value of FirstOrDefault() as follows:

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

The error might not be exactly what you think it is.

OTHER TIPS

Try this code.

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

you better check Object Null before assigning.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top