고유 값을 얻기 위해 LINQ를 사용하여 쿼리 할 MyClass 컬렉션이 있고 그 결과로 사전 < 문자열, 문자열>을 얻을 수 있지만 아래에서하는 것보다 더 쉽게 할 수있는 방법을 알 수 없습니다. 어떤 클리너 코드를 사용하면 사전 < 문자열, 문자열>을 내 결과로 사용할 수 있습니까?사전을 반환하는 LINQ 쿼리
var desiredResults = new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase);
var queryResults = (from MyClass mc in myClassCollection
orderby bp.SomePropToSortOn
select new KeyValuePair<string, string>(mc.KeyProp, mc.ValueProp)).Distinct();
foreach (var item in queryResults)
{
desiredResults.Add(item.Key.ToString(), item.Value.ToString());
}
중복 키로 무엇을할까요? 그냥 첫 번째 걸리고 다음 일은 무시하십시오. 사전은 순서가 지정되지 않으므로 쿼리에서의 순서는 아무런 효과가 없습니다 ... –
아마도 IDictionary의 SortedDictionary 구현이 필요할 것입니다. 그렇지 않으면 사전에 대한 정렬은 무의미합니다. – Fede