欢迎来到代码驿站!

.NET代码

当前位置:首页 > 软件编程 > .NET代码

C#集合之有序列表的用法

时间:2022-07-05 13:50:09|栏目:.NET代码|点击:

如果需要基于键对所需集合排序,就可以使用SortedList<TKey,TValue>类。这个类按照键给元素排序。这个集合中的值和键都可以使用任何类型。定义为键的自定义类型需要实现IComparer<T>接口,用于给列表中的元素排序。
使用构造函数创建一个有序列表,在用Add方法添加:

    var books = new SortedList<string, string>();
    books.Add("Professional WPF Programming", "978–0–470–04180–2");
    books.Add("Professional ASP.NET MVC 3", "978–1–1180–7658–3");

还可以使用索引器将元素添加到列表中

    books["Beginning Visual C# 2010"] = "978–0–470-50226-6";
    books["Professional C# 4 and .NET 4"] = "978–0–470–50225–9";
    SortedList<TKey,TValue>有多个重载版本的构造函数。

可以使用foreach语句遍历列表,枚举器返回的元素是KeyValuePair<TKey,TValue>类型,其中包含了键和值:

    foreach (KeyValuePair<string, string> book in books)
    {
      Console.WriteLine("{0}, {1}", book.Key, book.Value);
    }

迭代语句会按键的顺序显示:

    Beginning Visual C# 2010, 978–0–470-50226-6
    Professional ASP.NET MVC 3, 978–1–1180–7658–3
    Professional C# 4 and .NET 4, 978–0–470–50225–9
    Professional WPF Programming, 978–0–470–04180–2

也可以使用Values和Keys属性访问值和键:

    foreach (string isbn in books.Values)
    {
      Console.WriteLine(isbn);
    }

    foreach (string title in books.Keys)
    {
      Console.WriteLine(title);
    }

如果尝试使用索引器访问一个元素,但传递的键不存在,就会抛出异常。ContainsKey()方法,可以判断所传递的键是否存在于集合中。TryGetValue该方法尝试获得指定键的值,如果指定的=键对应的值不存在,该方法不会抛出异常。

上一篇:大白话讲解C# 中的委托

栏    目:.NET代码

下一篇:ASP.NET MVC自定义异常过滤器使用案例

本文标题:C#集合之有序列表的用法

本文地址:http://www.codeinn.net/misctech/206887.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有