如何在C#中实现自定义排序规则

avatar
作者
猴君
阅读量:0

在C#中,你可以使用IComparer接口来实现自定义排序规则

首先,创建一个实现IComparer接口的类,并实现Compare方法。在这个例子中,我们将根据字符串的长度进行排序:

using System;  public class CustomStringComparer : IComparer<string> {     public int Compare(string x, string y)     {         return x.Length.CompareTo(y.Length);     } } 

接下来,你可以使用这个自定义排序规则对集合进行排序。例如,对一个字符串数组进行排序:

using System; using System.Collections.Generic;  class Program {     static void Main()     {         string[] words = { "apple", "banana", "cherry", "date", "fig", "grape" };          CustomStringComparer comparer = new CustomStringComparer();          Array.Sort(words, comparer);          Console.WriteLine("Sorted words:");         foreach (string word in words)         {             Console.WriteLine(word);         }     } } 

输出结果将按照字符串长度进行排序:

Sorted words: fig apple date banana grape cherry 

你还可以使用List<T>Sort方法对列表进行排序:

using System; using System.Collections.Generic;  class Program {     static void Main()     {         List<string> words = new List<string> { "apple", "banana", "cherry", "date", "fig", "grape" };          CustomStringComparer comparer = new CustomStringComparer();          words.Sort(comparer);          Console.WriteLine("Sorted words:");         foreach (string word in words)         {             Console.WriteLine(word);         }     } } 

输出结果同样将按照字符串长度进行排序。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!