C#集合之有序列表的用法
如果需要基于键对所需集合排序,就可以使用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#集合之有序列表的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
相关文章
C#实现winform自动关闭MessageBox对话框的方法
这篇文章主要介绍了C#实现winform自动关闭MessageBox对话框的方法,实例分析了C#中MessageBox对话框的相关操作技巧,需要的朋友可以参考下2015-04-04详解C#中的System.Timers.Timer定时器的使用和定时自动清理内存应用
这篇文章主要介绍了详解C#中的System.Timers.Timer定时器的使用和定时自动清理内存应用,需要的朋友可以参考下2017-06-06Datagridview使用技巧(9)Datagridview的右键菜单
这篇文章主要为大家详细介绍了Datagridview使用技巧,Datagridview的右键菜单,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2017-05-05C#结合OpenCVSharp4使用直方图算法实现图片相似度比较
这篇文章主要为大家详细介绍了C#如何结合OpenCVSharp4使用直方图算法实现图片相似度比较,文中的示例代码简洁易懂,需要的小伙伴可以参考下2023-09-09
最新评论