SortedList.SetByIndex(Int32, Object) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Заменяет значение по указанному индексу в объекте 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 -> unit
Public 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)
.