注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

信息 灵感 创新

I? =Information,Inspiration,Innovation

 
 
 

日志

 
 
关于我

we are 5. Mathematics, Computation, Programming, Engineering, and Making fun of life.

网易考拉推荐

数组、索引器和集合(十一)  

2010-12-27 17:07:31|  分类: C# & .NET |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

有序表

有序表(SortedList)顾名思义就是排好序的表,有序表类SortedList<TKey, TValue>按照给定的键给元素排序。另外,除了泛型 SortedList<TKey, TValue>之外,还有一个对应的非泛型有序表SortedList

SortedList<TKey, TValue>类的属性或方法如下表:

属性或方法

说明

Capacity

获取和设置有序表能包含的元素个数。与List<T>类似,默认构造函数会创建一个空表,添加第一个元素会使有序表的容量变成4 个元素,之后其容量会根据需要成倍增加

Comparer

返回与有序表相关的比较器。可以在构造函数中传送该比较器。默认的比较器会调用IComparable<TKey>接口的CompareTo()方法来比较键。键类型执行了这个接口,也可以创建定制的比较器

Count

返回有序表中的元素个数

Item

索引器可以访问有序表中的元素。索引器的参数类型由键类型定义

Keys

返回包含所有键的IList<TKey>

Values

返回包含所有值的IList<TValue>

Add()

把带有键和值的元素放在有序表中

RemoveAt()

Remove()

Remove()方法需要从有序表中删除的元素的键。使用RemoveAt()方法可以删除指定索引的元素

Clear()

删除有序表中的所有元素

ContainsKey()

ContainsValue()

ContainsKey()ContainsValue()方法检查有序表是否包含指定的键或值,并返回true false

IndexOfKey()

IndexOfValue()

IndexOfKey()IndexOfValue()方法检查有序表是否包含指定的键或值,并返回基于整数的索引

TrimExcess()

重新设置集合的大小,将容量改为需要的元素个数

TryGetValue()

TryGetValue()方法尝试获得指定键的值。如果键不存在,这个方法就返回false。如果键存在,就返回true,并把值返回为out 参数

下面的例子简单演示有序表的使用,键为代表姓名的string型,而值为代表年龄的int型。注意下面代码中的foreach 语句迭代输出有序表,枚举器返回的元素类型是KeyValuePair<TKey, TValue>,其中包含了键和值,键可以用Key 属性访问,值用Value 属性访问。

using System;

using System.Collections.Generic;

using System.Text;

namespace Castor

{

    class Test

    {

        //主程序入口

        static void Main(string[] args)

        {

            SortedList<string, int> Students = new SortedList<string, int>();

            Students.Add("Jack", 22);

            Students.Add("Ammy", 24);

            Students.Add("Tom", 23);

            Students.Add("Lisa", 21);

            foreach (KeyValuePair<string, int> s in Students)

            {

                Console.WriteLine("{0}\t{1}", s.Key, s.Value);

            }

            Console.Read();

        }

    }

}

运行效果如下:

数组、索引器和集合(十一) - Castor - 趁年轻,多折腾~~

如果交换姓名和年龄的位置,则可以实现按年龄排序输出。

  评论这张
 
阅读(474)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2016