C#SortedList排序列表的实现
短信预约 -IT技能 免费直播动态提醒
在 C# 中,SortedList 类用来表示键/值对的集合,这些键/值对按照键值进行排序,并且可以通过键或索引访问集合中的各个项。
我们可以将排序列表看作是数组和哈希表的组合,其中包含了可以使用键或索引访问各项的列表。如果您使用索引访问各项,那么它就是一个动态数组(ArrayList),如果您使用键访问各项,那么它就是一个哈希表(Hashtable)。另外,集合中的各项总是按键值进行排序。
SortedList 类的中的属性
下表列出了 SortedList 类中一些常用的属性:
属性 | 描述 |
---|---|
Capacity | 获取或设置排序列表中可包含的元素个数 |
Count | 获取排序列表中的元素个数 |
IsFixedSize | 判断排序列表是否具有固定大小 |
IsReadOnly | 判断排序列表是否只读 |
Item | 获取或设置排序列表中指定键所关联的值 |
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) | 返回排序列表中指定值第一次出现的索引,索引从零开始 |
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排序列表内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341