2013-04-30 90 views
0

我有一個字典在C#web項目(MVC4),我需要通過AJAX調用並返回一個jSON。這部分內容都很好,但返回的數據是按字典的鍵排序的。我無法找到按值排序的方法。併發症是值是一個由一個字符串和一個int組成的對象。所以結構C#字典排序JSON

<key, <object>> 

,其中的對象是一個字符串,整數

我不能改變字典的結構,其上創建網頁應用程序的其他部分使用。

任何想法,我如何能做到這一點?

如果沒有,我會重建c#一側的結構。

+0

你想按字符串或對象的int值排序嗎? – 2013-04-30 09:13:40

回答

3

讓我們假設你有一個類有一個int和一個字符串

public class MyObj 
{ 
    public int iValue { get; set; } 
    public string sValue { get; set; } 
} 

您可以通過該值的價值排序詞典:

var dictionary = new Dictionary<TKey, MyObj>(); 

var sortedKeyValuePair = dictionary.OrderBy(kvp => kvp.Value.iValue).ToList(); 

結果一個List < KeyValuePair < TKey, MyObj> >按您的對象的int值排序。

+0

非常好,謝謝。 – 2013-04-30 09:37:33