El método SortedList.SetByIndex(Int32, Object) se usa para reemplazar el valor en un índice específico en un objeto SortedList.
Sintaxis:
public virtual void SetByIndex (int index, object value);
Parámetros:
índice: es el índice de base cero en el que se ahorra valor.
valor: es el objeto que se guardará en el objeto SortedList. El valor puede ser nulo .
Excepción: este método lanza ArgumentOutOfRangeException si el índice está fuera del rango de los índices válidos del objeto SortedList dado.
Los siguientes programas ilustran el uso del método mencionado anteriormente:
Ejemplo 1:
// C# code for replacing the value at a // specific index in a SortedList object using System; using System.Collections; class Geeks { // Main Method public static void Main(String[] args) { // Creating a SortedList of integers SortedList mylist = new SortedList(); // Adding elements to SortedList mylist.Add("First", "Ram"); mylist.Add("Second", "Shyam"); mylist.Add("Third", "Mohit"); mylist.Add("Fourth", "Rohit"); mylist.Add("Fifth", "Manish"); // Before replacing the keys // and values of SortedList are Console.WriteLine("----- Before Replacing -----"); Console.WriteLine("Index \t\t Keys \t\tValues"); for (int i = 0; i < mylist.Count; i++) { Console.WriteLine("[{0}]\t\t{1}\t\t{2}", i, mylist.GetKey(i), mylist.GetByIndex(i)); } Console.WriteLine(); // After replacing the keys // and values of SortedList are Console.WriteLine("----- After Replacing -----"); // Replaces the values at // index 1 and index 3. mylist.SetByIndex(1, "Priyanka"); mylist.SetByIndex(3, "Ritu"); Console.WriteLine("Index \t\t Keys \t\tValues"); for (int i = 0; i < mylist.Count; i++) { Console.WriteLine("[{0}]\t\t{1}\t\t{2}", i, mylist.GetKey(i), mylist.GetByIndex(i)); } } }
Producción:
----- Before Replacing ----- Index Keys Values [0] Fifth Manish [1] First Ram [2] Fourth Rohit [3] Second Shyam [4] Third Mohit ----- After Replacing ----- Index Keys Values [0] Fifth Manish [1] First Priyanka [2] Fourth Rohit [3] Second Ritu [4] Third Mohit
Ejemplo 2: demostración del caso en el que puede ocurrir ArgumentOutOfRangeException
// C# code giving ArgumentOutOfRangeException // specific index in a SortedList object // but giving ArgumentOutOfRangeException using System; using System.Collections; class Geeks { // Main Method public static void Main(String[] args) { // Creating a SortedList of integers SortedList mylist = new SortedList(); // Adding elements to SortedList mylist.Add("h", "Hello"); mylist.Add("g", "Geeks!"); mylist.Add("w", "Welcome"); mylist.Add("t", "to"); mylist.Add("n", "Noida"); // Before replacing the keys // and values of SortedList are Console.WriteLine("----- Before Replacing -----"); Console.WriteLine("Index \t\t Keys \t\tValues"); for (int i = 0; i < mylist.Count; i++) { Console.WriteLine("[{0}]\t\t{1}\t\t{2}", i, mylist.GetKey(i), mylist.GetByIndex(i)); } Console.WriteLine(); // After replacing the keys // and values of SortedList are Console.WriteLine("----- After Replacing -----"); // Replaces the values at // index 6 which is outside // the range of valid indexes // here it will give an // ArgumentOutOfRangeException mylist.SetByIndex(6, null); Console.WriteLine("Index \t\t Keys \t\tValues"); for (int i = 0; i < mylist.Count; i++) { Console.WriteLine("[{0}]\t\t{1}\t\t{2}", i, mylist.GetKey(i), mylist.GetByIndex(i)); } } }
Error de tiempo de ejecución:
Excepción no controlada:
System.ArgumentOutOfRangeException: el índice estaba fuera de rango. Debe ser no negativo y menor que el tamaño de la colección.
Nombre del parámetro: índice
Nota:
- La secuencia de índice se basa en la secuencia de clasificación. Cuando se agrega un elemento, se inserta en SortedList en el orden de clasificación correcto y la indexación se ajusta en consecuencia. Cuando se elimina 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 después de agregar y eliminar los elementos del objeto SortedList.
- Este método es una operación O(1).
Referencia:
Publicación traducida automáticamente
Artículo escrito por Kirti_Mangal y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA