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