SortedList实现排序

SortedList类默认是升序的,要改成降序要怎么改呢?
通过实现IComparer:
    public class ReverserSort : IComparer<string>
    {
        private bool Asc=true;
        int IComparer<KeyValueItem>.Compare(string x, string y)
        {
            if (Asc)
              return string.Compare(x, y);
            else
              return string.Compare(y, x);

        }
        public bool bAsc
        {
            set { Asc = value; }
        }
       
    }
其中string类型也可以是其他类型
ReverserSort ms = new ReverserSort();
ms.Asc = false;
SortedList li = new SortedList();
Array.Sort(li, ms);

转载于:https://www.cnblogs.com/alon/archive/2009/10/13/1582312.html

在 VB.NET 中,可以使用 `SortedList` 对象来存储键/值对,并且可以使用 `Comparer` 对象来自定义排序规则。 以下是一个示例,演示如何使用自定义排序规则对 `SortedList` 进行排序: ```vb ' 创建一个自定义排序规则类 Public Class MyComparer Implements IComparer ' 实现 Compare 方法,用于比较两个对象的大小 Public Function Compare(ByVal x As Object, ByVal y As Object) As Integer _ Implements System.Collections.IComparer.Compare ' 将 x 和 y 转换为需要比较的类型 Dim xValue As String = CType(x, KeyValuePair(Of String, Integer)).Key Dim yValue As String = CType(y, KeyValuePair(Of String, Integer)).Key ' 使用 String.Compare 方法进行比较,并返回比较结果 Return String.Compare(xValue, yValue) End Function End Class ' 使用自定义排序规则对 SortedList 进行排序 Dim mySortedList As New SortedList(New MyComparer()) ' 添加键/值对 mySortedList.Add("B", 2) mySortedList.Add("C", 3) mySortedList.Add("A", 1) ' 遍历 SortedList,输出键/值对 For Each kvp As KeyValuePair(Of String, Integer) In mySortedList Console.WriteLine(kvp.Key & " - " & kvp.Value) Next ``` 在上面的示例中,我们创建了一个名为 `MyComparer` 的自定义排序规则类,并实现了 `IComparer` 接口中的 `Compare` 方法。在 `Compare` 方法中,我们使用 `String.Compare` 方法对键进行比较,并返回比较结果。 在创建 `SortedList` 对象时,我们将 `MyComparer` 对象作为参数传递,这样就会使用我们自定义的排序规则对键进行排序。 最后,我们遍历 `SortedList` 中的键/值对,输出它们的值。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值