WebForms SortedList 学习笔记

什么是 SortedList

SortedList 是 .NET Framework 中的一种数据结构,它实现了 IDictionary 接口,并且可以自动按照 Key 的升序排序。当我们需要在字典中按照键的顺序进行遍历时,SortedList 是一个非常有用的数据结构。

如何使用 SortedList

SortedList 可以在 Windows Forms 应用程序和 ASP.NET 应用程序中使用。我们先看一个简单的例子,在 ASP.NET 应用程序中使用 SortedList。

csharpCopy Code
SortedList mySortedList = new SortedList(); mySortedList.Add("apple", "苹果"); mySortedList.Add("banana", "香蕉"); mySortedList.Add("orange", "橙子"); foreach (string key in mySortedList.Keys) { Console.WriteLine(key + ": " + mySortedList[key]); }

上面的代码创建了一个 SortedList 对象,并向其中添加了三个键值对。然后通过循环遍历 Keys 集合,输出每个键和对应的值。由于 SortedList 自动按照键的升序排序,所以输出结果将会是:

Copy Code
apple: 苹果 banana: 香蕉 orange: 橙子

实例:使用 SortedList 来排序学生信息

下面我们来看一个实际的应用场景,假设我们有一组学生信息,每个学生都有姓名和分数两个属性。我们需要将学生信息按照分数从高到低排序,并且输出排序后的结果。

csharpCopy Code
class Student { public string Name { get; set; } public int Score { get; set; } public Student(string name, int score) { this.Name = name; this.Score = score; } } SortedList sortedStudents = new SortedList(); sortedStudents.Add(new Student("张三", 90).Score, new Student("张三", 90)); sortedStudents.Add(new Student("李四", 80).Score, new Student("李四", 80)); sortedStudents.Add(new Student("王五", 95).Score, new Student("王五", 95)); foreach (Student s in sortedStudents.Values.Reverse()) { Console.WriteLine(s.Name + ": " + s.Score); }

上面的代码中,我们定义了一个 Student 类来表示每个学生,然后创建了一个 SortedList 对象,并向其中添加了三个学生信息。在添加时,我们使用每个学生的分数作为键,学生对象作为值。这样就可以通过 SortedList 自动按照分数从小到大排序。最后我们用 foreach 循环遍历 Values 集合,并且反转顺序,将排序结果从高到低输出。

输出结果将会是:

Copy Code
王五: 95 张三: 90 李四: 80

以上就是使用 SortedList 的一些基本知识和实例,希望能够对你有所帮助!