C# | Obtenga o establezca el valor asociado con la clave especificada en SortedList

La propiedad SortedList.Item[Object] se usa para obtener y establecer el valor asociado con una clave específica en un objeto SortedList.

Sintaxis:

public virtual object this[object key] { get; set; }

Aquí, la clave está asociada con el valor a obtener o establecer. Es del tipo objeto.

Valor devuelto: esta propiedad devuelve el valor asociado con el parámetro clave en el objeto SortedList si se encuentra la clave; de ​​lo contrario, devuelve un valor nulo.

Excepciones:

  • ArgumentNullException: si la clave es nula.
  • NotSupportedException: si la propiedad está establecida y el objeto SortedList es de solo lectura o si la propiedad está establecida, la clave no existe en la colección y SortedList tiene un tamaño fijo.
  • OutOfMemoryException: si no hay suficiente memoria disponible para agregar el elemento a SortedList.
  • InvalidOperationException: si el comparador arroja una excepción.

Los siguientes programas ilustran el uso de la propiedad discutida anteriormente:

Ejemplo 1:

// C# code to Gets or sets the value 
// associated with the specified key 
using System; 
using System.Collections; 
  
class GFG { 
  
    // Driver code 
    public static void Main() 
    { 
  
        // Creating a SortedList 
        SortedList mylist = new SortedList(); 
  
        // Adding elements in SortedList 
        mylist.Add("g", "geeks"); 
        mylist.Add("c", "c++"); 
        mylist.Add("d", "data structures"); 
        mylist.Add("q", "quiz"); 
  
        // Get a collection of the keys.
        ICollection c = mylist.Keys; 
  
        // Displaying the contents 
        foreach(string str in c) 
            Console.WriteLine(str + ": " + mylist[str]); 
  
        // Setting the value associated with key "c" 
        mylist["c"] = "C#"; 
  
        Console.WriteLine("Updated Values:"); 
  
        // Displaying the contents 
        foreach(string str in c) 
            Console.WriteLine(str + ": " + mylist[str]); 
    } 
} 
Producción:

c: c++
d: data structures
g: geeks
q: quiz
Updated Values:
c: C#
d: data structures
g: geeks
q: quiz

Ejemplo 2:

// C# code to Gets or sets the value 
// associated with the specified key 
using System; 
using System.Collections; 
  
class GFG { 
  
    // Driver code 
    public static void Main() 
    { 
  
        // Creating a SortedList 
        SortedList mylist = new SortedList(); 
  
        // Adding elements in SortedList 
        mylist.Add("4", "Even"); 
        mylist.Add("9", "Odd"); 
        mylist.Add("5", "Odd and Prime"); 
        mylist.Add("2", "Even and Prime"); 
  
        // Get a collection of the keys.
        ICollection c = mylist.Keys; 
  
        // Displaying the contents 
        foreach(string str in c) 
            Console.WriteLine(str + ": " + mylist[str]); 
  
        // Setting the value associated 
        // with key "56" which is not present  
        // will result in the creation of  
        // new key and value will be set which  
        // is given by the user 
        mylist["56"] = "New Value"; 
    
        Console.WriteLine("Updated Values:"); 
    
        // Displaying the contents 
        foreach(string str in c) 
            Console.WriteLine(str + ": " + mylist[str]); 
              
              
              
        // Setting the value associated 
        // with key "28" which is not present  
        // will result in the creation of  
        // new key and its value can be null
        mylist["28"] = null; 
    
        Console.WriteLine("Updated Values:"); 
    
        // Displaying the contents 
        foreach(string str in c) 
            Console.WriteLine(str + ": " + mylist[str]); 
    } 
} 
Producción:

2: Even and Prime
4: Even
5: Odd and Prime
9: Odd
Updated Values:
2: Even and Prime
4: Even
5: Odd and Prime
56: New Value
9: Odd
Updated Values:
2: Even and Prime
28: 
4: Even
5: Odd and Prime
56: New Value
9: Odd

Nota:

  • Esta propiedad devuelve el valor asociado con la clave específica. Si no se encuentra esa clave, y uno está tratando de obtenerla, esta propiedad devolverá un valor nulo y, si se intenta establecer, dará como resultado la creación de un nuevo elemento con la clave especificada.
  • Una clave no puede ser nula, pero un valor sí puede serlo. Para distinguir entre un valor nulo que se devuelve porque no se encuentra la clave especificada y un valor nulo que se devuelve porque el valor de la clave especificada es nulo, use el método contains o el método containskey para determinar si la clave existe en la lista.
  • Recuperar el valor de esta propiedad es una operación O(log n), donde n es Count. Establecer la propiedad es una operación O(log n) si la clave ya está en SortedList. Si la clave no está en la lista, establecer la propiedad es una operación O(n) para datos no ordenados u O(log n) si el nuevo elemento se agrega al final de la lista. Si la inserción provoca un cambio de tamaño, la operación es O(n).

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *