LINQ将var集合转换为特定的集合类型
本文关键字:集合 集合类 类型 var 转换 LINQ | 更新日期: 2023-09-27 18:29:45
我有这个代码:
public class ExistedProducts
{
public int productID{get;set;}
public int productQte{get;set;}
}
。。..
public List<ExistedProducts> GetStock()
{
var result = from p in Products
join st in Stock on st.ProductID equals p.ID
select new{ExistedProductID=p.ID,ExistedProductQte = st.Qte};
return result.Cast<ExistedProducts>.ToList();// exception here
}
我的第一个问题是,我可以直接从查询中生成类型化集合吗?如果不是,我该如何进行强制转换(我调用了Cast()方法,但出现了一个异常,表示无法从进行强制转换
'<>f_AnonymousType0`2[System.Int32,System.Int32]?
我想避免循环复制!
是的,您可以直接投影类型ExistedProducts
,而不是投影anonymous type
,如下所示:-
var result = (from p in Products
join st in Stock on st.ProductID equals p.ID
select new ExistedProducts
{
productID = p.ID,
productQte = st.Qte
}).ToList();
return result;