繁体   English   中英

LINQ将var集合转换为特定的集合类型

[英]LINQ Convert var collection to a specific collection type

我有以下代码:

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;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM