SortedList 用法

SortedList 用法 表示键 / 值对的集合,这些键和值按键排序并可按照键和索引访问。
SortedList 用法
SortedList 用法SortedList最合适对一列健
/ 值对 进行排序,在排序时,是对键进行排序,SortedList 是 Hashtable 和 Array 的混合。当使用 Item 索引器属性按照元素的键访问元素时,其行为类似于 Hashtable。当使用 GetByIndex 或 SetByIndex 按照元素的索引访问元素时,其行为类似于 Array。
SortedList 用法
SortedList 用法SortedList 在内部维护两个数组以将数组存储到列表中;即,一个数组用于键,另一个数组用于相关联的值。每个元素都是一个可作为 DictionaryEntry 对象进行访问的键
/ 值对。键不能为空引用(Visual Basic 中为 Nothing),但值可以。SortedList 的容量是列表可拥有的元素数。随着向 SortedList 中添加元素,容量通过重新分配按需自动增加。可通过调用 TrimToSize 或通过显式设置 Capacity 属性减少容量。SortedList 的元素将按照特定的 IComparer 实现(在创建SortedList 时指定)或按照键本身提供的 IComparable 实现并依据键来进行排序。不论在哪种情况下,SortedList 都不允许重复键。
SortedList 用法
SortedList 用法索引顺序基于排序顺序。当添加元素时,元素将按正确的排序顺序插入 SortedList,同时索引会相应地进行调整。若移除了元素,索引也会相应地进行调整。因此,当在SortedList 中添加或移除元素时,特定键
/ 值对的索引可能会更改。
SortedList 用法
SortedList 用法由于要进行排序,所以在 SortedList 上操作比在 Hashtable 上操作要慢。但是,SortedList 允许通过相关联键或通过索引对值进行访问,可提供更大的灵活性。
SortedList 用法
SortedList 用法一。添加删除
SortedList 用法
SortedList 用法
1 public   virtual   void  Add( object  key, object  value);
SortedList 用法
SortedList 用法此集合中的索引从零开始。
SortedList 用法
SortedList 用法将带有指定键和值的元素添加到 SortedList。
SortedList 用法
SortedList 用法通过设置 SortedList 中不存在的键的值,Item 属性也可用于添加新元素。例如:myCollection[
" myNonexistentKey " =  myValue。但是,如果指定的键已经存在于 SortedList 中,则设置 Item 属性将改写旧值。相比之下,Add 方法不修改现有元素。
SortedList 用法
SortedList 用法SortedList sList 
=   new  SortedList();
SortedList 用法sList.Add(
1 , " d " );
SortedList 用法sList.Add(
2 , " c " );
SortedList 用法sList.Add(
3 , " b " );
SortedList 用法sList.Add(
4 , " a " );
SortedList 用法
// 结果为d c b a,所以可知是按键排序,而非值排序
SortedList 用法

SortedList 用法DropDownList3.DataSource 
=  sList;
SortedList 用法DropDownList3.DataTextField 
=   " Key " ;
SortedList 用法DropDownList3.DataValueField 
=   " Value " ;
SortedList 用法DropDownList3.DataBind();
SortedList 用法
SortedList 用法
2 public   virtual   void  Remove( object  key);
SortedList 用法
SortedList 用法从 SortedList 中移除带有指定键的元素
SortedList 用法如果 SortedList 不包含带有指定键的元素,则 SortedList 保持不变。不引发异常
SortedList 用法
SortedList 用法SortedList sList 
=   new  SortedList();
SortedList 用法sList.Add(
1 , " d " );
SortedList 用法sList.Add(
2 , " c " );
SortedList 用法sList.Add(
3 , " b " );
SortedList 用法sList.Add(
4 , " a " );
SortedList 用法
// sList.Remove("b");  错误,是按key删除,而非Value
SortedList 用法
sList.Remove( 3 );   // 删除了[3,"b"]
SortedList 用法
DropDownList3.DataSource  =  sList;
SortedList 用法DropDownList3.DataTextField 
=   " Key " ;
SortedList 用法DropDownList3.DataValueField 
=   " Value " ;
SortedList 用法DropDownList3.DataBind();
SortedList 用法
SortedList 用法
3 public   virtual   void  RemoveAt( int  index);
SortedList 用法
SortedList 用法移除 SortedList 的指定索引处的元素。
SortedList 用法
SortedList 用法SortedList sList 
=   new  SortedList();
SortedList 用法sList.Add(
1 , " d " );
SortedList 用法sList.Add(
2 , " c " );
SortedList 用法sList.Add(
3 , " b " );
SortedList 用法sList.Add(
4 , " a " );
SortedList 用法sList.RemoveAt(
3 );  // 删除的是[4,"a"],这里的参数是索引号,而非键值,
SortedList 用法
// 与sList.Remove(3)不同;  sList.Remove(3)删除了[3,"b"]
SortedList 用法

SortedList 用法DropDownList3.DataSource 
=  sList;
SortedList 用法DropDownList3.DataTextField 
=   " Key " ;
SortedList 用法DropDownList3.DataValueField 
=   " Value " ;
SortedList 用法DropDownList3.DataBind();
SortedList 用法
SortedList 用法
4 public   virtual   void  Clear();
SortedList 用法
SortedList 用法从 SortedList 中移除所有元素Count 设置为零。Capacity 保持不变。若要重置 SortedList 的容量,请调用 TrimToSize或直接设置 Capacity 属性。截去空 SortedList 会将 SortedList 的容量设置为默认容量,而不是零
SortedList 用法
SortedList 用法二。与索引有关的操作
SortedList 用法
SortedList 用法
1 public   virtual   void  SetByIndex( int  index, object  value);
SortedList 用法
SortedList 用法替换 SortedList 中指定索引处的值。
SortedList 用法
SortedList 用法SortedList sList 
=   new  SortedList();
SortedList 用法sList.Add(
1 , " d " );
SortedList 用法sList.Add(
2 , " c " );
SortedList 用法sList.Add(
3 , " b " );
SortedList 用法sList.Add(
4 , " a " );
SortedList 用法sList.SetByIndex(
1 , " dddddd " );   // 1为索引,如果Count<2,则出错,也就是说必须存在
SortedList 用法
SortedList 用法                           
// 而sList[2] = "dddddd";不存在这种现象,
SortedList 用法
SortedList 用法                            
// 也就是说sList[2] = "dddddd"是
SortedList 用法
SortedList 用法                               
// 如果键存在在修改值,不存在则添加
SortedList 用法

SortedList 用法DropDownList3.DataSource 
=  sList;
SortedList 用法DropDownList3.DataTextField 
=   " Key " ;
SortedList 用法DropDownList3.DataValueField 
=   " Value " ;
SortedList 用法DropDownList3.DataBind();
SortedList 用法
SortedList 用法
2 public   virtual   object  GetByIndex( int  index);
SortedList 用法
SortedList 用法获取 SortedList 的指定索引处的值。index必须小于Count,否则出错
SortedList 用法
SortedList 用法SortedList sList 
=   new  SortedList();
SortedList 用法sList.Add(
1 , " d " );
SortedList 用法sList.Add(
2 , " c " );
SortedList 用法sList.Add(
3 , " b " );
SortedList 用法sList.Add(
4 , " a " );
SortedList 用法
// sList.Clear();
SortedList 用法
int  nIndex  =   2 ;
SortedList 用法
if  (nIndex < sList.Count)
SortedList 用法 
{
SortedList 用法   Label3.Text 
= sList.GetByIndex(nIndex).ToString();
SortedList 用法 }

SortedList 用法
else
SortedList 用法 
{
SortedList 用法  Label3.Text 
= "nIndex>=Count";
SortedList 用法 }

SortedList 用法
SortedList 用法
3 . public   virtual   int  IndexOfKey( object  key);
SortedList 用法
SortedList 用法返回 SortedList 中指定键的从索引,这是Hashtable所没有的,因为Hashtable没有有序这个概念,它的排序是内部的
SortedList 用法
SortedList 用法
4 . public   virtual   int  IndexOfValue( object  value);
SortedList 用法
SortedList 用法返回指定的值在 SortedList 中第一个匹配项的索引,这是Hashtable所没有的,因为Hashtable没有有序这个概念,它的排序是内部的
SortedList 用法
SortedList 用法SortedList sList 
=   new  SortedList();
SortedList 用法sList.Add(
1 , " d " );
SortedList 用法sList.Add(
2 , " c " );
SortedList 用法sList.Add(
3 , " b " );
SortedList 用法sList.Add(
4 , " a " );
SortedList 用法sList.Add(
5 , " d " );
SortedList 用法
int  nIndex  =   0 ;
SortedList 用法nIndex 
=  sList.IndexOfKey( 1 );   // 为0
SortedList 用法
nIndex  =  sList.IndexOfValue( " d " );  // 值匹配的有两个,这时返回第一个匹配的,所以为0
SortedList 用法

SortedList 用法三。其他
SortedList 用法
SortedList 用法
1 . public   virtual   object  GetKey( int  index);
SortedList 用法
SortedList 用法获取 SortedList 的指定索引处的键,这也是Hashtable所不可能有的
SortedList 用法
SortedList 用法
2 . public   virtual  IList GetKeyList();
SortedList 用法
SortedList 用法获取 SortedList 中的键
SortedList 用法
SortedList 用法SortedList sList 
=   new  SortedList();
SortedList 用法sList.Add(
1 , " d " );
SortedList 用法sList.Add(
2 , " c " );
SortedList 用法sList.Add(
3 , " b " );
SortedList 用法sList.Add(
4 , " a " );
SortedList 用法sList.Add(
5 , " d " );
SortedList 用法Label3.Text 
=   "" ;
SortedList 用法IList iList 
=  sList.GetKeyList();
SortedList 用法
for  ( int  i = 0 ; i < sList.Count; i ++ )
SortedList 用法
{
SortedList 用法 Label3.Text 
+= iList[i].ToString();
SortedList 用法 Label3.Text 
+= "  ";
SortedList 用法}

SortedList 用法
SortedList 用法注:IList 接口,表示可按照索引单独访问的一组对象,其中有一个Item属性,在C#也就就是索引器
SortedList 用法
SortedList 用法
3 . public   virtual  IList GetValueList();
SortedList 用法
SortedList 用法获取 SortedList 中的值
SortedList 用法
SortedList 用法
4 . public   virtual   bool  Contains( object  key);
SortedList 用法
SortedList 用法确定 SortedList 是否包含特定键
SortedList 用法
SortedList 用法
5 . public   virtual   bool  ContainsKey( object  key);
SortedList 用法
SortedList 用法确定 SortedList 是否包含特定键,与Contains(
object  key);完全同
SortedList 用法
SortedList 用法
6 . public   virtual   bool  ContainsValue( object  value);
SortedList 用法
SortedList 用法确定 SortedList 是否包含特定值
SortedList 用法
SortedList 用法上述这三个函数与Hashtable完全相同
SortedList 用法
SortedList 用法

你可能感兴趣的:(list)