2013-11-22 7 views
26

나는 하나에 병합 드릴 수 없습니다 :연결하여 두 개의 사전

GroupNames = GroupNames.Concat(AddedGroupNames); 

"유형이 암시 적으로 변환 할 수 없습니다"때문이다. 나는 믿는다. (그리고 내 코드가 사실임을 증명한다.) 그들의 유형은 동일하다. 나는 무엇을 간과 하는가?

+1

'GroupNames'와'AddedGroupNames' 사이에 키 충돌이 없다고 가정하는 것이 안전한가요? –

+2

이것은 이미 여기에 답변되었습니다 : http://stackoverflow.com/questions/294138/merging-dictionaries-in-c-sharp –

답변

54

난 당신이 Dictionary<string,string>GroupNames을 정의 생각, 그래서 당신은 다음과 같이 ToDictionary을 추가해야합니다

GroupNames = GroupNames.Concat(AddedGroupNames) 
         .ToDictionary(x=>x.Key,x=>x.Value); 

이 원래의 사전은 다른 키를 것하는 것으로, 그렇지 않으면 우리는 올바르게 병합 할 몇 가지 규칙이 필요합니다.

+5

위대한 질문에 주어진 다른 답변에 비해 훨씬 간단합니다. ! –

+2

좋은 해결책이지만 문제는 중복 키에 관한 것입니다. 중복 키가있는 경우 예외가 발생합니다. –

관련 문제