c# - Error on applying linq to List -


i trying create sublist larger list using linq

list<scenariodetailmodel> chartscenariodetailslist = new list<scenariodetailmodel>();  list<scenariodetailmodel> sublist = new list<scenariodetailmodel>(); sublist = chartscenariodetailslist.where(s => s.code == "c3"); 

both chartscenariodetailslist , sublist of same type compiler complains type conversions , won't compile, error follows:

error 190 cannot implicitly convert type 'system.collections.generic.ienumerable' 'system.collections.generic.list'. explicit conversion exists (are missing cast?)

however, compiles when change sublist's type list ienumerable:

ienumerable<scenariodetailmodel> sublist = new list<scenariodetailmodel>(); sublist = chartscenariodetailslist.where(s => s.code == "c3"); 

my question is: why happen?

where() return ienumerable, not list.

try sublist = chartscenariodetailslist.where(s => s.code == "c3").tolist();

also, should assign sublist directly with

chartscenariodetailslist.where(s => s.code == "c3").tolist();

and not new, since doing you're losing reference created call new.


Comments