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

Last Updated : 18 Dec, 2019

This method is used to return a read-only wrapper for the specified array.Syntax:

public static System.Collections.ObjectModel. ReadOnlyCollection AsReadOnly (T[] array);

Here, T is the type of element of the array.Return Value: This method return the a read-only ReadOnlyCollection 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:

Similar Reads