2017-02-13 2 views

답변

0
var query = from m in mods 
      join r in refs on m.RefModIf equals r.RefModId 
      select new { 
       mod.Modcode, 
       r.ModItem, 
      }; 

foreach (var i in query) 
    modLookup.Add(i.Modcode, i.ModItem); 

을 ... modLookup 경우 foreach 대신에 할 수있는 사전입니다.

modLookup = query.ToDictionary(i=>i.Modcode, i=>i.ModItem); 
0

join를 사용해보십시오 :

var matches = mods.Join(refs, 
    m => wo.RefModId, 
    r => p.RefModId, 
    (mod,ref) => new {mod.RefModId, mod.Modcode, ref.ModItem} 
); 
matches.All(x => modLookup.Add(x.Modcode, x.ModItem)); 
+1

'.All (...)'을 사용하지 마라. (아마도'modLookup.Add'가'bool'을 리턴 할 것 같지 않아서 어쨌든 작동하지 않을 것이라는 사실을 무시한다.) –

+0

나는 동의 하겠지만 그는 'for' 루프가 아닌 모든 Linq 응답을 찾고있다. –

+0

foreach가 Spinks를 더 잘 수행하는 것 같습니다. – Slackliner