C# | Comprobar si una array es de solo lectura o no

La propiedad Array.IsReadOnly se usa para obtener un valor que indica si la array es de solo lectura o no.

Sintaxis:

public bool IsReadOnly { get; }

Valor de propiedad: esta propiedad siempre devuelve falso para todas las arrays.

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

Ejemplo 1:

// C# program to illustrate
// IsReadOnly Property of
// Array class
using System;
namespace geeksforgeeks {
  
class GFG {
  
    // Main Method
    public static void Main()
    {
  
        // declares an 1D Array of string
        string[] topic;
  
        // assigning null to array
        topic = new string[] { null };
  
        // Here we check whether is
        // array of fixed size or not
        Console.WriteLine("Result: " + topic.IsReadOnly);
    }
}
}
Producción:

Result: False

Ejemplo 2:

// C# program to illustrate
// IsReadOnly Property of
// Array class
using System;
namespace geeksforgeeks {
  
class GFG {
  
    // Main Method
    public static void Main()
    {
  
        // Two-dimensional array 
        int[, ] arr = new int[, ] {{1, 2}, 
                                   {3, 4},  
                                   {5, 6},  
                                   {7, 8}}; 
  
  
        // Here we check whether is
        // array of fixed size or not
        Console.WriteLine("Result: " + arr.IsReadOnly);
    }
}
}
Producción:

Result: False

Nota:

  • Array implementa la IsReadOnly propiedad porque la System.Collections.IListinterfaz la necesita.
  • Una array que es de solo lectura no permite la adición, eliminación o modificación de elementos después de la creación de una array.
  • Si un usuario requiere una colección de solo lectura, debe usar una System.Collectionsclase que implemente la System.Collections.IListinterfaz.
  • Si un usuario lanza o convierte una array en un objeto de interfaz IList, la IList.IsReadOnlypropiedad devuelve false . Sin embargo, si el usuario lanza o convierte una array en un IList<T> interface, la propiedad IsReadOnly devuelve verdadero.
  • Recuperar el valor de esta propiedad 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

Deja una respuesta

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