2014-06-23 4 views
1

foreach을 사용하지 않고 LINQ를 사용하여 항목 목록을 가져 오는 아래 논리를 구현하는 방법을 알아야합니다. 또한 항목을 새 목록에 추가 한 후 일치하는 항목을 item 목록에서 제외해야합니다. 이에 대한 모든 솔루션을 이해할 수있을 것이다코드를 단순화하는 방법 LINQ 사용

List<StockResult> Stockres = new List<StockResult>(); 
foreach (var stkitms in item) 
{ 
    if (Db.Stk.Any(a => a.INo == stkitms.ItemNum)) 
    { 
     StockResult ss = new StockResult(); 
     ss.ItemNumber = stkitms.ItemNum; 
     ss.FileName = stkitms.FileName; 
     Stockres.Add(ss); 
    } 
} 

코드입니다.

답변

7

당신이 하나를 시도 할 수 :

List<StockResult> Stockres = item.Where(x=>Db.Stk.Any(a => a.INo == x.ItemNum)) 
           Select(x=> new StockResult() 
           { 
            ItemNumber = x.ItemNum, 
            FileName = x.FileName 
           }).ToList(); 
+0

'StokeResult'가 있어야한다' – Sayse

+0

@Sayse가 대단히 감사합니다 StockResult'! 방금 고쳤습니다. – Christos

+0

거의 정확합니다. 'StoCkResult' 여야합니다. :) – Loetn

관련 문제