您好,登錄后才能下訂單哦!
這篇文章主要講解了“C# SortedList排序列表如何實現”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“C# SortedList排序列表如何實現”吧!
在 C# 中,SortedList 類用來表示鍵/值對的集合,這些鍵/值對按照鍵值進行排序,并且可以通過鍵或索引訪問集合中的各個項。
我們可以將排序列表看作是數組和哈希表的組合,其中包含了可以使用鍵或索引訪問各項的列表。如果您使用索引訪問各項,那么它就是一個動態數組(ArrayList),如果您使用鍵訪問各項,那么它就是一個哈希表(Hashtable)。另外,集合中的各項總是按鍵值進行排序。
下表列出了 SortedList 類中一些常用的屬性:
屬性 | 描述 |
---|---|
Capacity | 獲取或設置排序列表中可包含的元素個數 |
Count | 獲取排序列表中的元素個數 |
IsFixedSize | 判斷排序列表是否具有固定大小 |
IsReadOnly | 判斷排序列表是否只讀 |
Item | 獲取或設置排序列表中指定鍵所關聯的值 |
Keys | 獲取一個包含排序列表中所有鍵的集合 |
Values | 獲取一個包含排序列表中所有值的集合 |
下表列出了 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) | 返回排序列表中指定值第一次出現的索引,索引從零開始 |
public virtual void Remove(object key) | 從排序列表中移除帶有指定鍵的元素 |
public virtual void RemoveAt(int index) | 移除排序列表中指定索引處的元素 |
public virtual void TrimToSize() | 將排序列表的容量設置為排序列表中元素的實際個數 |
關于 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", "小強"); if (sl.ContainsValue("張三")){ Console.WriteLine("該學生姓名以存在"); }else{ sl.Add("004", "張三"); } // 獲取鍵的集合 ICollection key = sl.Keys; foreach (string k in key){ Console.WriteLine(k + ": " + sl[k]); } } } }
運行結果如下:
001: 小明
002: 小紅
003: 小強
004: 張三
感謝各位的閱讀,以上就是“C# SortedList排序列表如何實現”的內容了,經過本文的學習后,相信大家對C# SortedList排序列表如何實現這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。