C# | Array.AsReadOnly(T[]) Method - GeeksforGeeks

18 Dec, 2019
This method is used to return a read-only wrapper for the specified array.
Syntax:
public static System.Collections.ObjectModel.
ReadOnlyCollection<T> AsReadOnly<T> (T[] array);
Here, T is the type of element of the array.
Return Value: This method return the a read-only ReadOnlyCollection<T> wrapper .
Exception: This method throws ArgumentNullException if the array is null.
Below are the examples to illustrate the Array.AsReadOnly(T[]) Method:
Example 1:
// C# program to demonstrate// AsReadOnly() methodusing System;using System.Collections.Generic;  public class GFG {      // Main Method    public static void Main()    {          // Creating and initializing new the String        String[] myArr = {"Sun", "Mon", "Tue", "Thu"};          // Display the values of the myArr.        Console.WriteLine("Initial Array:");          // calling the PrintIndexAndValues()         // method to print        PrintIndexAndValues(myArr);          // Create a read-only IList         // wrapper around the array.        IList<String> myList = Array.AsReadOnly(myArr);          // Display the values of the read-only myList.        Console.WriteLine("Read-only Array: ");          // calling the PrintIndexAndValues()         // method to print        PrintIndexAndValues(myList);    }      // Defining the method     // PrintIndexAndValues    public static void PrintIndexAndValues(String[] myArr)    {        for (int i = 0; i < myArr.Length; i++) {              Console.WriteLine("{0}", myArr[i]);        }        Console.WriteLine();    }      // Defining the method     // PrintIndexAndValues     public static void PrintIndexAndValues(IList<String> myList)    {        for (int i = 0; i < myList.Count; i++) {            Console.WriteLine("{0}", myList[i]);        }    }}
Output:
Initial Array:
Sun
Mon
Tue
Thu

Read-only Array: 
Sun
Mon
Tue
Thu

Example 2:
// C# program to demonstrate// AsReadOnly() method// For ArgumentNullExceptionusing System;using System.Collections.Generic;  public class GFG {      // Main Method    public static void Main()    {          try {              // Creating and initializing new            // the String with a null value            String[] myArr = null;              // Create a read-only IList             // wrapper around the array.            IList<String> myList = Array.AsReadOnly(myArr);              // Display the values of             // the read-only myList.            Console.WriteLine("Read-only Array:");              // calling the PrintIndexAndValues()            // method to print            PrintIndexAndValues(myList);        }        catch (ArgumentNullException e) {              Console.Write("Exception Thrown: ");            Console.Write("{0}", e.GetType(), e.Message);        }    }      // Defining the method PrintIndexAndValues     public static void PrintIndexAndValues(String[] myArr)    {        for (int i = 0; i < myArr.Length; i++) {            Console.WriteLine("{0}", myArr[i]);        }        Console.WriteLine();    }      // Defining the method PrintIndexAndValues     public static void PrintIndexAndValues(IList<String> myList)    {        for (int i = 0; i < myList.Count; i++) {            Console.WriteLine("{0}", myList[i]);        }    }}
Output:
Exception Thrown: System.ArgumentNullException

Reference:
https://docs.microsoft.com/en-us/dotnet/api/system.array.asreadonly?view=netframework-4.7.2
shubham_singh
CSharp-Arrays
CSharp-method
C#
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Comments
Old Comments
Program to calculate Electricity Bill
Linked List Implementation in C#
C# | How to insert an element in an Array?
HashSet in C# with Examples
Lambda Expressions in C#
Main Method in C#
Difference between Hashtable and Dictionary in C#
C# | Dictionary.Add() Method
Collections in C#
Different Ways to Convert Char Array to String in C#