我很困惑集合和IEnumerable类型。任何一个可以解释为什么第一次查询是错误的,但第二个是正确─
一号通这给了错误给定的LINQ到收集查询有什么区别?
ConditionFieldCollection conditionColl = (ConditionFieldCollection)Session["ConditionFieldCollection"];
ConditionFieldCollection cnd = new ConditionFieldCollection();
cnd = (from c in conditionColl
where iq.QueryField == c.Expression
select c);
2日 - 正常工作
ConditionFieldCollection conditionColl = (ConditionFieldCollection)Session["ConditionFieldCollection"];
List<ConditionField> cnd = (from c in conditionColl.OfType<ConditionField>()
where iq.QueryField == c.Expression
select c).ToList();
我知道LINQ回报IEnumerable类型的集合对象,但ConditionFieldCollection也是一个集合,那么为什么它在编译时给我错误。有没有什么区别B/W Collecton和IEnumerable Collection?