C # Sort the list (SortedList)
SortedList class represents a series of key sorted according tokey / value pairs, these key-value pairs can be accessed by keys and indexes.
Sort the list is a combination of an array and hash tables. It contains a key or index can be used to access the list. If you are using to access the index, it is a dynamic array (ArrayList), if you use the access key, then it is a hash table (Hashtable). In the collection of the key values always sort.
SortedList class methods and properties
The following table lists some of the commonattributes SortedListclass:
属性 | 描述 |
---|---|
Capacity | 获取或设置 SortedList 的容量。 |
Count | 获取 SortedList 中的元素个数。 |
IsFixedSize | 获取一个值,表示 SortedList 是否具有固定大小。 |
IsReadOnly | 获取一个值,表示 SortedList 是否只读。 |
Item | 获取或设置与 SortedList 中指定的键相关的值。 |
Keys | 获取 SortedList 中的键。 |
Values | 获取 SortedList 中的值。 |
The following table lists some of the commonmethods SortedListclass:
序号 | 方法名 & 描述 |
---|---|
1 | public virtual void Add(
object key,
object value
);
向 SortedList 添加一个带有指定的键和值的元素。 |
2 | public virtual void Clear();
从 SortedList 中移除所有的元素。 |
3 | public virtual bool ContainsKey(
object key
);
判断 SortedList 是否包含指定的键。 |
4 | public virtual bool ContainsValue(
object value
);
判断 SortedList 是否包含指定的值。 |
5 | public virtual object GetByIndex(
int index
);
获取 SortedList 的指定索引处的值。 |
6 | public virtual object GetKey(
int index
);
获取 SortedList 的指定索引处的键。 |
7 | public virtual IList GetKeyList();
获取 SortedList 中的键。 |
8 | public virtual IList GetValueList();
获取 SortedList 中的值。 |
9 | public virtual int IndexOfKey(
object key
);
返回 SortedList 中的指定键的索引,索引从零开始。 |
10 | public virtual int IndexOfValue(
object value
);
返回 SortedList 中的指定值第一次出现的索引,索引从零开始。 |
11 | public virtual void Remove(
object key
);
从 SortedList 中移除带有指定的键的元素。 |
12 | public virtual void RemoveAt(
int index
);
移除 SortedList 的指定索引处的元素。 |
13 | public virtual void TrimToSize();
设置容量为 SortedList 中元素的实际个数。 |
Examples
The following example demonstrates the sorted list (SortedList) concepts:
using System; using System.Collections; namespace CollectionsApplication { class Program { static void Main (string [] args) { SortedList sl = new SortedList (); sl.Add ( "001", "Zara Ali"); sl.Add ( "002", "Abida Rehman"); sl.Add ( "003", "Joe Holzner"); sl.Add ( "004", "Mausam Benazir Nur"); sl.Add ( "005", "M. Amlan"); sl.Add ( "006", "M. Arif"); sl.Add ( "007", "Ritesh Saikia"); if (sl.ContainsValue ( "Nuha Ali")) { Console.WriteLine ( "This student name is already in the list"); } else { sl.Add ( "008", "Nuha Ali"); } // Get the collection of keys ICollection key = sl.Keys; foreach (string k in key) { Console.WriteLine (k + ":" + sl [k]); } } } }
When the above code is compiled and executed, it produces the following results:
001: Zara Ali 002: Abida Rehman 003: Joe Holzner 004: Mausam Banazir Nur 005: M. Amlan 006: M. Arif 007: Ritesh Saikia 008: Nuha Ali