C# | Creating a readonly wrapper for the List (original) (raw)

Last Updated : 27 Jan, 2019

List.AsReadOnly Method is used to get a read-only ReadOnlyCollection wrapper for the current collection.Syntax:

public System.Collections.ObjectModel.ReadOnlyCollection AsReadOnly ();

Return Value: It returns an object that acts as a read-only wrapper around the current List.Example:

CSharp `

// C# code to create a read-only // wrapper for the List 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);
}

}

`

Output:

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:

Runtime Error:

Unhandled Exception: System.NotSupportedException: Collection is read-only.

Note:

Reference:

Similar Reads