El método ArrayList.ReadOnly(ArrayList) se usa para obtener un contenedor ArrayList de solo lectura.
Sintaxis:
public static System.Collections.ArrayList ReadOnly(System.Collections.ArrayList list);
Aquí, la lista es la ArrayList que se va a envolver.
Valor de retorno: Devuelve un ArrayList Wrapper de solo lectura alrededor de la lista .
Excepción: este método devuelve ArgumentNullException si la lista es nula.
Los siguientes programas ilustran el uso del método mencionado anteriormente:
Ejemplo 1:
// C# code to create a read-only // wrapper for the ArrayList using System; using System.Collections; class GFG { // Driver code public static void Main() { // Creating an ArrayList ArrayList myList = new ArrayList(); // Adding elements to ArrayList myList.Add("Geeks"); myList.Add("for"); myList.Add("Geeks"); myList.Add("Noida"); myList.Add("Geeks Classes"); myList.Add("Delhi"); // Creating a Read-Only packing // around the ArrayList ArrayList myList2 = ArrayList.ReadOnly(myList); // --------- Using IsReadOnly Property // print the status of both ArrayList Console.WriteLine("myList ArrayList is {0}.", myList.IsReadOnly ? "read-only" : "not read-only"); Console.WriteLine("myList2 ArrayList is {0}.", myList2.IsReadOnly ? "read-only" : "not read-only"); } }
Producción:
myList ArrayList is not read-only. myList2 ArrayList is read-only.
Ejemplo 2:
// C# code to create a read-only // wrapper for the ArrayList using System; using System.Collections; class GFG { // Driver code public static void Main() { // Creating an ArrayList ArrayList myList = new ArrayList(); // Adding elements to ArrayList myList.Add("C"); myList.Add("C++"); myList.Add("Java"); myList.Add("C#"); myList.Add("Python"); Console.WriteLine("Before Wrapping: "); // Displaying the elements in the ArrayList foreach(string str in myList) { Console.WriteLine(str); } // Creating a Read-Only packing // around the ArrayList ArrayList myList2 = ArrayList.ReadOnly(myList); Console.WriteLine("After Wrapping: "); // Displaying the elements foreach(string str in myList2) { Console.WriteLine(str); } Console.WriteLine("Trying to add new element into myList2:"); // it will give error myList2.Add("HTML"); } }
Producción:
Before Wrapping: C C++ Java C# Python After Wrapping: C C++ Java C# Python Trying to add new element into myList2:
Error de tiempo de ejecución:
Excepción no controlada:
System.NotSupportedException: la colección es de solo lectura.
en System.Collections.ArrayList+ReadOnlyArrayList.Add
Explicación: En el programa anterior, puede agregar o eliminar elementos de myList , es decir, ArrayList original, que se reflejará en la colección de solo lectura.
Nota:
- Para evitar cualquier modificación a la lista , exponga la lista solo a través de este contenedor.
- Una colección que es de solo lectura es simplemente una colección con un contenedor que impide modificar la colección. Si se realizan cambios en la colección subyacente, la colección de solo lectura refleja esos cambios.
- 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