El método List<T>.AsReadOnly se usa para obtener un contenedor ReadOnlyCollection<T> de solo lectura para la colección actual.
Sintaxis:
público System.Collections.ObjectModel.ReadOnlyCollection AsReadOnly();
Valor de retorno: devuelve un objeto que actúa como un contenedor de solo lectura alrededor de la List<T> actual .
Ejemplo:
// C# code to create a read-only // wrapper for the List<T> using System; using System.Collections; using System.Collections.Generic; class GFG { // Driver code public static void Main() { // Creating an List<T> of Integers List<int> firstlist = new List<int>(); // Adding elements to List firstlist.Add(1); firstlist.Add(2); firstlist.Add(3); firstlist.Add(4); firstlist.Add(5); firstlist.Add(6); firstlist.Add(7); Console.WriteLine("Before Wrapping: "); // Displaying the elements in the List foreach(int i in firstlist) { Console.WriteLine(i); } // Creating a Read-Only packing // around the List<T> IList<int> mylist2 = firstlist.AsReadOnly(); Console.WriteLine("After Wrapping: "); // Displaying the elements foreach(int m in mylist2) { Console.WriteLine(m); } Console.WriteLine("Trying to add new element into mylist2:"); // it will give error mylist2.Add(8); } }
Producción:
Before Wrapping: 1 2 3 4 5 6 7 After Wrapping: 1 2 3 4 5 6 7 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.
Nota:
- 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