C# SortedList排序列表的實(shí)現(xiàn)
在 C# 中,SortedList 類用來(lái)表示鍵/值對(duì)的集合,這些鍵/值對(duì)按照鍵值進(jìn)行排序,并且可以通過(guò)鍵或索引訪問(wèn)集合中的各個(gè)項(xiàng)。
我們可以將排序列表看作是數(shù)組和哈希表的組合,其中包含了可以使用鍵或索引訪問(wèn)各項(xiàng)的列表。如果您使用索引訪問(wèn)各項(xiàng),那么它就是一個(gè)動(dòng)態(tài)數(shù)組(ArrayList),如果您使用鍵訪問(wèn)各項(xiàng),那么它就是一個(gè)哈希表(Hashtable)。另外,集合中的各項(xiàng)總是按鍵值進(jìn)行排序。
SortedList 類的中的屬性
下表列出了 SortedList 類中一些常用的屬性:
| 屬性 | 描述 |
|---|---|
| Capacity | 獲取或設(shè)置排序列表中可包含的元素個(gè)數(shù) |
| Count | 獲取排序列表中的元素個(gè)數(shù) |
| IsFixedSize | 判斷排序列表是否具有固定大小 |
| IsReadOnly | 判斷排序列表是否只讀 |
| Item | 獲取或設(shè)置排序列表中指定鍵所關(guān)聯(lián)的值 |
| Keys | 獲取一個(gè)包含排序列表中所有鍵的集合 |
| Values | 獲取一個(gè)包含排序列表中所有值的集合 |
SortedList 類的中的方法
下表列出了 SortedList 類中一些常用的方法:
| 方法名 | 描述 |
|---|---|
| public virtual void Add(object key, object value) | 向排序列表中添加一個(gè)帶有指定的鍵和值的元素 |
| 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) | 返回排序列表中指定鍵的索引,索引從零開(kāi)始 |
| public virtual int IndexOfValue(object value) | 返回排序列表中指定值第一次出現(xiàn)的索引,索引從零開(kāi)始 |
| public virtual void Remove(object key) | 從排序列表中移除帶有指定鍵的元素 |
| public virtual void RemoveAt(int index) | 移除排序列表中指定索引處的元素 |
| public virtual void TrimToSize() | 將排序列表的容量設(shè)置為排序列表中元素的實(shí)際個(gè)數(shù) |
關(guān)于 SortedList 類中的完整屬性和方法介紹,可以查閱 C# 官方文檔。
【示例】下面通過(guò)示例演示 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排序列表的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)C# SortedList排序列表內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C# Distinct和重寫(xiě)IEqualityComparer時(shí)要知道的二三事
這篇文章主要給大家介紹了關(guān)于C# Distinct和重寫(xiě)IEqualityComparer時(shí)要知道的二三事,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-06-06
.net實(shí)現(xiàn)序列化與反序列化實(shí)例解析
這篇文章主要介紹了.net實(shí)現(xiàn)序列化與反序列化實(shí)例解析,需要的朋友可以參考下2014-08-08
WPF實(shí)現(xiàn)好看的Loading動(dòng)畫(huà)的示例代碼
這篇文章主要介紹了如何利用WPF實(shí)現(xiàn)好看的Loading動(dòng)畫(huà)效果,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)或工作有一定幫助,需要的可以參考一下2022-08-08
C# 快速高效率復(fù)制對(duì)象(表達(dá)式樹(shù))
在代碼中經(jīng)常會(huì)遇到需要把對(duì)象復(fù)制一遍,或者把屬性名相同的值復(fù)制一遍。本文將對(duì)其解決方法進(jìn)行詳細(xì)介紹。下面跟著小編一起來(lái)看下吧2017-04-04
unity AudioSource播放完聲音后要執(zhí)行的函數(shù)或條件操作
這篇文章主要介紹了unity AudioSource播放完聲音后要執(zhí)行的函數(shù)或條件操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-04-04

