[c#] LINQ를 사용하여 사전을 필터링하고 동일한 유형의 사전으로 반환하는 방법

다음 사전이 있습니다.

Dictionary<int,string> dic = new Dictionary<int,string>();
dic[1] = "A";
dic[2] = "B";

사전의 항목을 필터링하고 결과를 동일한 변수에 다시 할당하고 싶습니다.

dic = dic.Where (p => p.Key == 1);

같은 유형의 [ <int,string>] 에서 결과를 사전으로 반환하려면 어떻게 해야합니까?

시도 ToDictionary했지만 작동하지 않습니다.

미리 감사드립니다.



답변

ToDictionary갈 길입니다. 그것은 않는 일을 – 당신은 그냥 아마도, 잘못을 사용하고 있었다. 이 시도:

dic = dic.Where(p => p.Key == 1)
         .ToDictionary(p => p.Key, p => p.Value);

난 당신이 가정했다 가졌 정말 다른 원하는 Where오직 하나의 키를 찾을 현재 하나로서, 필터를 …


답변