2013-09-23 2 views
1

동일한 길이의 두 목록을 익명 형식으로 연결하려는 경우 첫 번째 목록 개체는 '개체'유형이고 두 번째 목록 개체는 열거 값입니다. 그 내용의LINQ의 조인 작업으로 인해 항목이 생성되지 않습니다.

예 :

enter image description here

enter image description here

실행, '리스트'에 항목이 없습니다.

var enumerable = game.Items.Join(game.ItemsElementName, s => s, t => t, 
    (item, itemName) => new { Item = item, ItemName = itemName }); 
var list = enumerable.ToList(); 

나는 술어 가입의 두 번째 오버로드()를 시도했지만 객체와 열거 사이에 비교하는 것도 거의 없었다 나는 그것을 구현할 수 없었다.

어떻게이 두 목록의 내용을 Join으로 병합 할 수 있습니까? 가능하다면

+2

정말이 항목에 '참여 하시겠습니까? "병합"이라는 단어의 사용은 다른 것을 의미합니다. 'game.Items'과'game.ItemsElementName'의 내용은 무엇입니까? 그리고 원하는 결과는 무엇입니까? – David

+0

콘텐츠의 스크린 샷을 추가했습니다. – Aybe

답변

5

Zip이 아닌 Join을 사용하고 싶다고 생각합니다.

var enumerable = game.Items.Zip(game.ItemsElementName, 
       (item, itemName) => new { Item = item, ItemName = itemName }); 
+0

"Zip"을 특별한 종류의 Join으로 생각하십시오. 여기서 항목 인덱스는 조인 조건입니다. –

+0

그게 내가 찾고 있었던거야, 고마워! – Aybe

관련 문제