값으로 사전을 주문하고 싶습니다. 그것은 일반적으로 수행되는 방식으로 보인다 .Net은 Mono API에 존재하지 않는다.값순 사전 정렬
특정 API 호출이 있습니까? 아니면 직접해야합니까?
감사
값으로 사전을 주문하고 싶습니다. 그것은 일반적으로 수행되는 방식으로 보인다 .Net은 Mono API에 존재하지 않는다.값순 사전 정렬
특정 API 호출이 있습니까? 아니면 직접해야합니까?
감사
당신이 Linq에 사용할 수 있습니다 : 주석으로
var dict = new Dictionary<string, int>();
var sorted = dict.OrderBy(kvp => kvp.Value).ToList();
은 사전 클래스에는 순서가 없습니다. 주문한 사전을 원하면 SortedDictionary 클래스가 있습니다.
그러나 SortedDictionary는 키순으로 정렬됩니다. 그것의 가치에 의하여 주문 사전을 지키는 것은 보통 업무 같이 보이지 않는다.
어쨌든, 당신은 당신이 할 수있는 정렬 된 값에 액세스하려면 :
dict.Values.OrderBy(v => v).ToList(); //Sorted list of the values of the dictionary dict
또는
dict.OrderBy(kvp => kvp.Value).ToList(); //Sorted list (by value) of the key value pairs of the dictionary dict
"그것은 일반적으로 닷넷에서 할 것입니다 방법은"무엇입니까? 예를 들어 주시겠습니까? –
아직 인터넷 검색을하지 않은 것으로 보입니다. – Guy
'System.Collections.Generic.Dictionary <,>'인 경우 사전 자체는 특별한 순서가 없으므로 정렬 할 수 없습니다. 'IEnumerable <>'이 정렬되도록 사전의 키/값 쌍을 갖는'IEnumerable <>'(시퀀스)를 원한다면, 예를 들어. LINQ 메서드'OrderBy'. –