C# | Método Array.AsReadOnly(T[]) – Part 1

Este método se usa para devolver un contenedor de solo lectura para la array especificada.

Sintaxis:

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

Aquí, T es el tipo de elemento de la array.

Valor de retorno: este método devuelve un contenedor ReadOnlyCollection<T> de solo lectura.

Excepción: este método lanza ArgumentNullException si la array es nula.

A continuación se muestran los ejemplos para ilustrar el método Array.AsReadOnly(T[]):

Ejemplo 1:

// 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]);
        }
    }
}

Producción:

Initial Array:
Sun
Mon
Tue
Thu

Read-only Array: 
Sun
Mon
Tue
Thu

Ejemplo 2:

// 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]);
        }
    }
}

Producción:

Exception Thrown: System.ArgumentNullException

Referencia:

Publicación traducida automáticamente

Artículo escrito por RohitPrasad3 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *