SortedList.SetByIndex(Int32, Object) 方法   
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
替换 SortedList 对象中指定索引处的值。
public:
 virtual void SetByIndex(int index, System::Object ^ value);public virtual void SetByIndex (int index, object value);public virtual void SetByIndex (int index, object? value);abstract member SetByIndex : int * obj -> unit
override this.SetByIndex : int * obj -> unitPublic Overridable Sub SetByIndex (index As Integer, value As Object)参数
- index
- Int32
从零开始的索引,在该位置保存 value。
- value
- Object
要保存到 Object 对象中的 SortedList。 该值可以为 null。
例外
              index 不在 SortedList 对象的有效索引范围内。
示例
下面的代码示例演示如何替换 对象中 SortedList 现有元素的值。
#using <system.dll>
using namespace System;
using namespace System::Collections;
void PrintIndexAndKeysAndValues( SortedList^ myList )
{
   Console::WriteLine( "\t-INDEX-\t-KEY-\t-VALUE-" );
   for ( int i = 0; i < myList->Count; i++ )
   {
      Console::WriteLine( "\t[{0}]:\t{1}\t{2}", i, myList->GetKey( i ), myList->GetByIndex( i ) );
   }
   Console::WriteLine();
}
int main()
{
   
   // Creates and initializes a new SortedList.
   SortedList^ mySL = gcnew SortedList;
   mySL->Add( 2, "two" );
   mySL->Add( 3, "three" );
   mySL->Add( 1, "one" );
   mySL->Add( 0, "zero" );
   mySL->Add( 4, "four" );
   
   // Displays the values of the SortedList.
   Console::WriteLine( "The SortedList contains the following values:" );
   PrintIndexAndKeysAndValues( mySL );
   
   // Replaces the values at index 3 and index 4.
   mySL->SetByIndex( 3, "III" );
   mySL->SetByIndex( 4, "IV" );
   
   // Displays the updated values of the SortedList.
   Console::WriteLine( "After replacing the value at index 3 and index 4," );
   PrintIndexAndKeysAndValues( mySL );
}
/*
This code produces the following output.
The SortedList contains the following values:
        -INDEX- -KEY-   -VALUE-
        [0]:    0       zero
        [1]:    1       one
        [2]:    2       two
        [3]:    3       three
        [4]:    4       four
After replacing the value at index 3 and index 4,
        -INDEX- -KEY-   -VALUE-
        [0]:    0       zero
        [1]:    1       one
        [2]:    2       two
        [3]:    3       III
        [4]:    4       IV
*/
using System;
using System.Collections;
public class SamplesSortedList  {
   public static void Main()  {
      // Creates and initializes a new SortedList.
      SortedList mySL = new SortedList();
      mySL.Add( 2, "two" );
      mySL.Add( 3, "three" );
      mySL.Add( 1, "one" );
      mySL.Add( 0, "zero" );
      mySL.Add( 4, "four" );
      // Displays the values of the SortedList.
      Console.WriteLine( "The SortedList contains the following values:" );
      PrintIndexAndKeysAndValues( mySL );
      // Replaces the values at index 3 and index 4.
      mySL.SetByIndex( 3, "III" );
      mySL.SetByIndex( 4, "IV" );
      // Displays the updated values of the SortedList.
      Console.WriteLine( "After replacing the value at index 3 and index 4," );
      PrintIndexAndKeysAndValues( mySL );
   }
   public static void PrintIndexAndKeysAndValues( SortedList myList )  {
      Console.WriteLine( "\t-INDEX-\t-KEY-\t-VALUE-" );
      for ( int i = 0; i < myList.Count; i++ )  {
         Console.WriteLine( "\t[{0}]:\t{1}\t{2}", i, myList.GetKey(i), myList.GetByIndex(i) );
      }
      Console.WriteLine();
   }
}
/*
This code produces the following output.
The SortedList contains the following values:
    -INDEX-    -KEY-    -VALUE-
    [0]:    0    zero
    [1]:    1    one
    [2]:    2    two
    [3]:    3    three
    [4]:    4    four
After replacing the value at index 3 and index 4,
    -INDEX-    -KEY-    -VALUE-
    [0]:    0    zero
    [1]:    1    one
    [2]:    2    two
    [3]:    3    III
    [4]:    4    IV
*/
Imports System.Collections
Public Class SamplesSortedList    
    
    Public Shared Sub Main()
        
        ' Creates and initializes a new SortedList.
        Dim mySL As New SortedList()
        mySL.Add(2, "two")
        mySL.Add(3, "three")
        mySL.Add(1, "one")
        mySL.Add(0, "zero")
        mySL.Add(4, "four")
        
        ' Displays the values of the SortedList.
        Console.WriteLine("The SortedList contains the following" & _
           "values:")
        PrintIndexAndKeysAndValues(mySL)
        
        ' Replaces the values at index 3 and index 4.
        mySL.SetByIndex(3, "III")
        mySL.SetByIndex(4, "IV")
        
        ' Displays the updated values of the SortedList.
        Console.WriteLine("After replacing the value at index 3 and index 4,")
        PrintIndexAndKeysAndValues(mySL)
    End Sub
    
    
    
    Public Shared Sub PrintIndexAndKeysAndValues(myList As SortedList)
        Console.WriteLine(ControlChars.Tab & "-INDEX-" & ControlChars.Tab & _
           "-KEY-" & ControlChars.Tab & "-VALUE-")
        Dim i As Integer
        For i = 0 To myList.Count - 1
            Console.WriteLine(ControlChars.Tab & "[{0}]:" & ControlChars.Tab & _
               "{1}" & ControlChars.Tab & "{2}", i, myList.GetKey(i), _
               myList.GetByIndex(i))
        Next i
        Console.WriteLine()
    End Sub
End Class
' This code produces the following output.
' 
' The SortedList contains the following values:
'     -INDEX-    -KEY-    -VALUE-
'     [0]:    0    zero
'     [1]:    1    one
'     [2]:    2    two
'     [3]:    3    three
'     [4]:    4    four
' 
' After replacing the value at index 3 and index 4,
'     -INDEX-    -KEY-    -VALUE-
'     [0]:    0    zero
'     [1]:    1    one
'     [2]:    2    two
'     [3]:    3    III
'     [4]:    4    IV
注解
索引序列基于排序序列。 添加元素时,它将按正确的排序顺序插入到 SortedList 中,索引会相应地调整。 删除元素时,索引也会相应地进行调整。 因此,在对象中添加或移除元素时,特定键/值对的 SortedList 索引可能会更改。
此方法是一个 O(1) 操作。