0

我在 C# web 项目 (MVC4) 中有一个字典,我需要通过 AJAX 调用获取并返回一个 jSON。这部分都很好,但是返回的数据是按字典的键排序的。我找不到按值排序的方法。复杂之处在于 value 是一个由 string 和 int 组成的对象。所以结构是

<key, <object>> 

其中对象是一个字符串,int

我无法更改字典的结构,因为它在页面创建的应用程序的其他部分中使用。

关于我如何做到这一点的任何想法?

如果不是,我将在 c# 方面重建结构。

4

1 回答 1

4

假设您有一个带有 int 和 string 的类

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 值排序的。

于 2013-04-30T09:11:03.540 回答