夜光带你走进C#语言 中级版本(11)

本文深入解析了SortedList类,一种结合了数组和哈希表特性的数据结构,详细介绍了其属性、方法及应用场景,通过实例展示了如何使用SortedList进行键值对的管理和操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

夜光序言:

 

 

破茧成蝶,只需要一朵花开的时间。但是每一只美丽的蝴蝶都要经得住时间的考验。就如每个人的一生,都会有那么一段艰难的岁月。耐心点,坚强点,总有一天你会发现你承受过的疼痛,将是你飞跃的起点

 

 

 

 

 

 

 

 

正文:

SortedList 类代表了一系列按照键来排序的键/值对,这些键值对可以通过键和索引来访问。

排序列表是数组和哈希表的组合。

它包含一个可使用键或索引访问各项的列表。

如果我们使用索引访问各项,则它是一个动态数组(ArrayList),如果我们使用键访问各项,则它是一个哈希表(Hashtable)。集合中的各项总是按键值排序。

SortedList 类的方法和属性

下表列出了 SortedList 类的一些常用的 属性

属性描述
Capacity获取或设置 SortedList 的容量。
Count获取 SortedList 中的元素个数。
IsFixedSize获取一个值,表示 SortedList 是否具有固定大小。
IsReadOnly获取一个值,表示 SortedList 是否只读。
Item获取或设置与 SortedList 中指定的键相关的值。
Keys获取 SortedList 中的键。
Values获取 SortedList 中的值。

下表列出了 SortedList 类的一些常用的 方法

序号方法名 & 描述
1public virtual void Add( object key, object value );
向 SortedList 添加一个带有指定的键和值的元素。
2public virtual void Clear();
从 SortedList 中移除所有的元素。
3public virtual bool ContainsKey( object key );
判断 SortedList 是否包含指定的键。
4public virtual bool ContainsValue( object value );
判断 SortedList 是否包含指定的值。
5public virtual object GetByIndex( int index );
获取 SortedList 的指定索引处的值。
6public virtual object GetKey( int index );
获取 SortedList 的指定索引处的键。
7public virtual IList GetKeyList();
获取 SortedList 中的键。
8public virtual IList GetValueList();
获取 SortedList 中的值。
9public virtual int IndexOfKey( object key );
返回 SortedList 中的指定键的索引,索引从零开始。
10public virtual int IndexOfValue( object value );
返回 SortedList 中的指定值第一次出现的索引,索引从零开始。
11public virtual void Remove( object key );
从 SortedList 中移除带有指定的键的元素。
12public virtual void RemoveAt( int index );
移除 SortedList 的指定索引处的元素。
13public virtual void TrimToSize();
设置容量为 SortedList 中元素的实际个数。

 

实例

下面的实例演示了排序列表(SortedList)的概念:

实例

using System;
using System.Collections;
using System.Collections.Generic;

namespace GeniusTest01
{
    public class Class128
    {
        static void Main(string[] args)
        {
            SortedList ht = new SortedList();

            ht.Add("001", "斗罗大陆");
            ht.Add("002", "斗破苍穹");
            ht.Add("003", "绝世唐门");
            ht.Add("004", "A");
            ht.Add("005", "B");
            ht.Add("006", "C");
            ht.Add("007", "JIM");

            if (ht.ContainsValue("斗罗大陆"))
            {
                Console.WriteLine("This student name is already in the list");
            }
            else
            {
                ht.Add("008", "夜光");
            }
            // 获取键的集合
            ICollection key = ht.Keys;
            foreach (string k in key)
            {
                Console.WriteLine(k + ": " + ht[k]);
            }
        }
    }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值