C#集合之有序列表的用法
如果需要基于鍵對(duì)所需集合排序,就可以使用SortedList<TKey,TValue>類。這個(gè)類按照鍵給元素排序。這個(gè)集合中的值和鍵都可以使用任何類型。定義為鍵的自定義類型需要實(shí)現(xiàn)IComparer<T>接口,用于給列表中的元素排序。
使用構(gòu)造函數(shù)創(chuàng)建一個(gè)有序列表,在用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>有多個(gè)重載版本的構(gòu)造函數(shù)。
可以使用foreach語(yǔ)句遍歷列表,枚舉器返回的元素是KeyValuePair<TKey,TValue>類型,其中包含了鍵和值:
foreach (KeyValuePair<string, string> book in books)
{
Console.WriteLine("{0}, {1}", book.Key, book.Value);
}迭代語(yǔ)句會(huì)按鍵的順序顯示:
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);
}如果嘗試使用索引器訪問一個(gè)元素,但傳遞的鍵不存在,就會(huì)拋出異常。ContainsKey()方法,可以判斷所傳遞的鍵是否存在于集合中。TryGetValue該方法嘗試獲得指定鍵的值,如果指定的=鍵對(duì)應(yīng)的值不存在,該方法不會(huì)拋出異常。
到此這篇關(guān)于C#集合之有序列表的文章就介紹到這了。希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
C# 靜態(tài)變量與靜態(tài)方法實(shí)例研究
寫了一個(gè)翻譯英漢單詞辭典的小程序,發(fā)現(xiàn)在調(diào)用幾千次的時(shí)候速度很慢2011-11-11
WindowsForm移動(dòng)一個(gè)沒有標(biāo)題欄的窗口的方法
這篇文章主要介紹了WindowsForm移動(dòng)一個(gè)沒有標(biāo)題欄的窗口的方法,文中講解非常細(xì)致,代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下2020-07-07
c#中winform根據(jù)郵箱地址和密碼一鍵發(fā)送email的實(shí)現(xiàn)
本文主要介紹了c#winform根據(jù)郵箱地址和密碼一鍵發(fā)送email的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07
Unity TextMeshPro實(shí)現(xiàn)富文本超鏈接默認(rèn)字體追加字體
這篇文章主要為大家介紹了Unity TextMeshPro實(shí)現(xiàn)富文本超鏈接默認(rèn)字體追加字體示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-01-01
Unity3D開發(fā)之獲取所有的子對(duì)象的方法詳解
這篇文章主要為大家詳細(xì)介紹了三種Unity3D中獲取所有的子對(duì)象(child)的方法,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-01-01
C#和vb.net實(shí)現(xiàn)PDF 添加可視化和不可見數(shù)字簽名
本文通過C#程序代碼展示如何給PDF文檔添加可視化數(shù)字簽名和不可見數(shù)字簽名。文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-08-08

