El método SortedList.IndexOfKey(Object) se usa para obtener el índice basado en cero de la clave especificada en un objeto SortedList.
Sintaxis:
public virtual int IndexOfKey (object key);
Aquí, key es la clave que se ubicará en el objeto SortedList.
Valor devuelto: este método devuelve el índice basado en cero del tipo System.Int32
del parámetro clave si la clave se encuentra en el objeto SortedList; de lo contrario, devuelve -1.
Excepciones:
- ArgumentNullException : si la clave es nula.
- InvalidOperationException : si el comparador arroja una excepción.
Los siguientes programas ilustran el uso del método mencionado anteriormente:
Ejemplo 1:
// C# code to get the zero-based index // of the specified key 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"); // printing the keys and values of mylist 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.Write("\nThe index of key 'Third' is: "); // getting the index of key "Third" Console.Write(mylist.IndexOfKey("Third")); // getting the index of key which is // not present in mylist so it will // return -1 Console.Write("\nThe index of key 'Sixth' is: "); Console.Write(mylist.IndexOfKey("Sixth")); } }
Producción:
Index Keys Values [0] Fifth Manish [1] First Ram [2] Fourth Rohit [3] Second Shyam [4] Third Mohit The index of key 'Third' is: 4 The index of key 'Sixth' is: -1
Ejemplo 2: Para demostrar el caso donde ArgumentNullException
puede ocurrir
// C# code to get the zero-based index // of the specified key 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("1", "C++"); mylist.Add("2", "Java"); mylist.Add("3", "DSA"); mylist.Add("4", "Python"); mylist.Add("5", "C#"); // printing the keys and values of mylist 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.Write("\nThe index of key 'null' is: "); // getting the index of key "null" // it will give ArgumentNullException Console.Write(mylist.IndexOfKey(null)); } }
Error de tiempo de ejecución:
Excepción no controlada:
System.ArgumentNullException: la clave no puede ser nula.
Nombre del parámetro: clave
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.
- Este método utiliza un algoritmo de búsqueda binaria, por lo que este método es una operación O (log n), donde n es el conteo.
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