SortedList使用说明书v1.1

10.6 有序列表

如果需要基于对所需集合排序,可以使用 SortedList 类。该类按照对元素排序。集合中的可以使用任意类型。以下示例创建了一个有序列表,其中和值都是 string 类型。默认构造函数创建一个空列表,通过 Add 方法添加两本书。使用重载的构造函数,可以定义列表的容量,并传递实现了 IComparer 接口的对象,该接口用于给列表中的元素排序。

Add 方法的第一个参数是书名,第二个参数是 ISBN 号。除了使用 Add 方法,还可以使用索引器将元素添加到列表中。索引器使用作为索引参数。如果已存在,Add 方法将抛出一个类型的异常;如果索引器使用相同的,则用新值替代旧值。可以从下载的源代码中示例:

var books = new SortedList();
books.Add("C# 2008 Wrox Box", "978-0-470-047205-7");
books.Add("Professional ASP.NET MVC 1.0", "978-0-470-38461-9");
books["Beginning Visual C# 2008"] = "978-0-470-19135-4";
books["Professional C# 2008"] = "978-0-470-19137-6";

可以使用 foreach 语句遍历该列表,枚举器返回的元素是 KeyValuePair 类型,可以通过 Key 属性访问,通过 Value 属性访问。遍历示例:

foreach (KeyValuePair book in books)
{
    Console.WriteLine($"{book.Key}: {book.Value}");
}

此代码将按的顺序显示书名和 ISBN 号。也可以使用 ValuesKeys 属性访问。由于 Values 属性返回 ICollectionKeys 属性返回 List,可以通过 foreach 使用这些属性:

foreach (string isbn in books.Values)
{
    Console.WriteLine(isbn);
}
foreach (string title in books.Keys)
{
    Console.WriteLine(title);
}
pdf 文件大小:97.07MB