SortedList.SetByIndex(Int32, Object) 方法

定义

替换 SortedList 对象中指定索引处的值。Replaces the value at a specific index in a SortedList object.

public:
 virtual void SetByIndex(int index, System::Object ^ value);
public virtual void SetByIndex (int index, object value);
abstract member SetByIndex : int * obj -> unit
override this.SetByIndex : int * obj -> unit
Public Overridable Sub SetByIndex (index As Integer, value As Object)

参数

index
Int32

从零开始的索引,在该位置保存 valueThe zero-based index at which to save value.

value
Object

要保存到 Object 对象中的 SortedListThe Object to save into the SortedList object. 该值可以为 nullThe value can be null.

例外

index 不在 SortedList 对象的有效索引范围内。index is outside the range of valid indexes for the SortedList object.

示例

下面的代码示例演示如何替换 SortedList 对象中现有元素的值。The following code example shows how to replace the value of an existing element in a SortedList object.

#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

注解

索引顺序基于排序顺序。The index sequence is based on the sort sequence. 添加元素时,会按正确的顺序将其插入 SortedList 中,并相应地调整索引。When an element is added, it is inserted into SortedList in the correct sort order, and the indexing adjusts accordingly. 删除元素时,索引编制还会相应地进行调整。When an element is removed, the indexing also adjusts accordingly. 因此,在 SortedList 对象中添加或删除元素时,特定键/值对的索引可能会更改。Therefore, the index of a specific key/value pair might change as elements are added or removed from the SortedList object.

此方法是一个 O(1) 操作。This method is an O(1) operation.

适用于

另请参阅