Open In App

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

Last Updated : 18 Dec, 2019
Comments
Improve
Suggest changes
Like Article
Like
Report
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: CSharp
// C# program to demonstrate
// AsReadOnly() method
using 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: CSharp
// C# program to demonstrate
// AsReadOnly() method
// For ArgumentNullException
using 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:

Next Article
Article Tags :

Similar Reads