C# | Creating a read-only wrapper for the List
Last Updated :
27 Jan, 2019
List<T>.AsReadOnly Method is used to get a read-only ReadOnlyCollection<T> 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<T>.
Example:
using System;
using System.Collections;
using System.Collections.Generic;
class GFG {
public static void Main()
{
List< int > firstlist = new List< int >();
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: " );
foreach ( int i in firstlist)
{
Console.WriteLine(i);
}
IList< int > mylist2 = firstlist.AsReadOnly();
Console.WriteLine( "After Wrapping: " );
foreach ( int m in mylist2)
{
Console.WriteLine(m);
}
Console.WriteLine( "Trying to add new element into mylist2:" );
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:
- A collection that is read-only is simply a collection with a wrapper that prevents modifying the collection. If changes are made to the underlying collection, the read-only collection reflects those changes.
- This method is an O(1) operation.
Reference:
Share your thoughts in the comments
Please Login to comment...