c#sortedlist自定义排序
时间: 2024-09-18 19:11:08 浏览: 106
在C#中,如果你想要使用`SortedList`进行自定义排序,你可以通过在创建`SortedList`实例时传入一个`IComparer`对象来实现。`IComparer`接口用于比较两个对象,这可以是你自己定义的一个类,实现了`Compare`方法,它接受两个参数并返回一个负数、零或正数表示它们之间的关系。
示例代码如下:
```csharp
// 自定义一个比较器类,这里假设我们按字符串长度排序
public class MyStringLengthComparer : IComparer<string>
{
public int Compare(string x, string y)
{
return x.Length.CompareTo(y.Length);
}
}
// 创建SortedList并指定排序方式
SortedList<string, object> myList = new SortedList<string, object>(new MyStringLengthComparer());
// 添加元素到SortedList
myList.Add("short", "apple");
myList.Add("long", "banana");
// 排序后的顺序将是按照字符串长度升序排列
foreach (KeyValuePair<string, object> pair in myList)
{
Console.WriteLine($"Key: {pair.Key}, Value: {pair.Value}");
}
```
阅读全文