C# SortedList排序列表的實現(xiàn)
在 C# 中,SortedList 類用來表示鍵/值對的集合,這些鍵/值對按照鍵值進(jìn)行排序,并且可以通過鍵或索引訪問集合中的各個項。
我們可以將排序列表看作是數(shù)組和哈希表的組合,其中包含了可以使用鍵或索引訪問各項的列表。如果您使用索引訪問各項,那么它就是一個動態(tài)數(shù)組(ArrayList),如果您使用鍵訪問各項,那么它就是一個哈希表(Hashtable)。另外,集合中的各項總是按鍵值進(jìn)行排序。
SortedList 類的中的屬性
下表列出了 SortedList 類中一些常用的屬性:
屬性 | 描述 |
---|---|
Capacity | 獲取或設(shè)置排序列表中可包含的元素個數(shù) |
Count | 獲取排序列表中的元素個數(shù) |
IsFixedSize | 判斷排序列表是否具有固定大小 |
IsReadOnly | 判斷排序列表是否只讀 |
Item | 獲取或設(shè)置排序列表中指定鍵所關(guān)聯(lián)的值 |
Keys | 獲取一個包含排序列表中所有鍵的集合 |
Values | 獲取一個包含排序列表中所有值的集合 |
SortedList 類的中的方法
下表列出了 SortedList 類中一些常用的方法:
方法名 | 描述 |
---|---|
public virtual void Add(object key, object value) | 向排序列表中添加一個帶有指定的鍵和值的元素 |
public virtual void Clear() | 從排序列表中移除所有的元素 |
public virtual bool ContainsKey(object key) | 判斷排序列表中是否包含指定的鍵 |
public virtual bool ContainsValue(object value) | 判斷排序列表中是否包含指定的值 |
public virtual object GetByIndex(int index) | 獲取排序列表中指定索引處的值 |
public virtual object GetKey(int index) | 獲取排序列表中指定索引處的鍵 |
public virtual IList GetKeyList() | 獲取排序列表中的鍵 |
public virtual IList GetValueList() | 獲取排序列表中的值 |
public virtual int IndexOfKey(object key) | 返回排序列表中指定鍵的索引,索引從零開始 |
public virtual int IndexOfValue(object value) | 返回排序列表中指定值第一次出現(xiàn)的索引,索引從零開始 |
public virtual void Remove(object key) | 從排序列表中移除帶有指定鍵的元素 |
public virtual void RemoveAt(int index) | 移除排序列表中指定索引處的元素 |
public virtual void TrimToSize() | 將排序列表的容量設(shè)置為排序列表中元素的實際個數(shù) |
關(guān)于 SortedList 類中的完整屬性和方法介紹,可以查閱 C# 官方文檔。
【示例】下面通過示例演示 SortedList 類中屬性和方法的使用:
using System; using System.Collections; namespace c.biancheng.net { class Demo { static void Main(string[] args){ SortedList sl = new SortedList(); sl.Add("001", "小明"); sl.Add("002", "小紅"); sl.Add("003", "小強(qiáng)"); if (sl.ContainsValue("張三")){ Console.WriteLine("該學(xué)生姓名以存在"); }else{ sl.Add("004", "張三"); } // 獲取鍵的集合 ICollection key = sl.Keys; foreach (string k in key){ Console.WriteLine(k + ": " + sl[k]); } } } }
運(yùn)行結(jié)果如下:
001: 小明
002: 小紅
003: 小強(qiáng)
004: 張三
到此這篇關(guān)于C# SortedList排序列表的實現(xiàn)的文章就介紹到這了,更多相關(guān)C# SortedList排序列表內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
c# Process.Start()找不到系統(tǒng)文件的解決方法
vs1027在X64應(yīng)用程序下執(zhí)行process.start()時,OK;但是在X86應(yīng)用程序下執(zhí)行process.start(),報錯:找不到系統(tǒng)文件,本文就詳細(xì)的介紹一下解決方法,感興趣的可以了解一下2023-09-09在Winform和WPF中注冊全局快捷鍵實現(xiàn)思路及代碼
如果注冊快捷鍵,RegisterHotKey中的fsModifiers參數(shù)為0,即None選項,一些安全軟件會警報,可能因為這樣就可以全局監(jiān)聽鍵盤而造成安全問題,感興趣的你可以參考下本文2013-02-02C#/VB.NET實現(xiàn)在Word中插入或刪除腳注
腳注,是可以附在文章頁面的最底端的,對某些東西加以說明,印在書頁下端的注文。這篇文章將為您展示如何通過C#/VB.NET代碼,以編程方式在Word中插入或刪除腳注,需要的可以參考一下2023-03-03C#中使用Interlocked進(jìn)行原子操作的技巧
使用.NET提供的Interlocked類可以對一些數(shù)據(jù)進(jìn)行原子操作,看起來似乎跟lock鎖一樣,但它并不是lock鎖,它的原子操作是基于CPU本身的,非阻塞的,所以要比lock的效率高2016-12-12C#使用linq對數(shù)組進(jìn)行篩選排序的方法
這篇文章主要介紹了C#使用linq對數(shù)組進(jìn)行篩選排序的方法,實例分析了C#實用linq擴(kuò)展進(jìn)行數(shù)組排序的技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-04-04