我有一个自定义类的数组列表,它基本上有两个属性键和值
public class myClass
{
public key { get; set; }
public value { get; set; }
}
ArrayList myList = new ArrayList();
// myList is a list of myClass
Run Code Online (Sandbox Code Playgroud)
如何按键对myList进行排序?
我以前一直这样做的问题是我不能再使用它,因为它不处理重复键的情况,我不能在字典中有两个相同的键.
// pseudo code
loop and add to dictionary (Key, Value)
sort dictionary
Dictionary<string, string> sortedTypes = myList.
OrderBy(i => i.Key).ToDictionary(i => i.Key, i => i.Value);
Run Code Online (Sandbox Code Playgroud)
编辑:我需要先按键排序然后将值作为第二个标准
首先:不要使用ArrayList.请改用通用类型List<myClass>.
然后,只需使用该List.Sort方法,传递适当的委托以用于比较.
list.Sort((x, y)=>x.key.CompareTo(y.key))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8255 次 |
| 最近记录: |