我在C#web项目(MVC4)中有一个字典,我需要通过AJAX调用获取并返回一个jSON。这部分都很好,但返回的数据按字典的键排序。我找不到按值排序的方法。复杂的是值是一个由字符串和int组成的对象。所以结构是
<key, <object>>
其中对象是字符串,int
我无法更改字典的结构,因为它在页面创建时在应用程序的其他部分中使用。
关于如何实现这一目标的任何想法?
如果不是,我将重建c#方面的结构。
TA
答案 0 :(得分:4)
假设你有一个带有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值排序。