SortedList.SetByIndex(Int32, Object) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Reemplaza el valor de un índice especificado en un objeto 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)
Parámetros
- index
- Int32
Índice de base cero en el que se guarda value
.
- value
- Object
Object que se va a guardar en el objeto SortedList. El valor puede ser null
.
Excepciones
El valor de index
está fuera del intervalo de índices válidos para el objeto SortedList.
Ejemplos
En el ejemplo de código siguiente se muestra cómo reemplazar el valor de un elemento existente en un SortedList objeto .
#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
Comentarios
La secuencia de índice se basa en la secuencia de ordenación. Cuando se agrega un elemento, se inserta en SortedList en el criterio de ordenación correcto y la indexación se ajusta en consecuencia. Cuando se quita un elemento, la indexación también se ajusta en consecuencia. Por lo tanto, el índice de un par clave-valor específico puede cambiar a medida que se agregan o quitan elementos del SortedList objeto.
Este método es una O(1)
operación.