How to create read only collection from int array in C#

2 Answers

0 votes
using System;
using System.Collections.ObjectModel;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            int[] numbers = { 1, 2, 3, 4, 5 };

            numbers[4] = 10;
            ReadOnlyCollection numbers_readonly = Array.AsReadOnly(numbers);
            //numbers_readonly[3] = 60; // Error: numbers_readonly is read only collection

            for (int i = 0; i < numbers_readonly.Count; i++)
            {
                Console.WriteLine(numbers_readonly[i]);
            }
        }
        
    }
}

/*
run:
  
1
2
3
4
10

*/


answered Feb 26, 2015 by avibootz
0 votes
using System;
using System.Collections.ObjectModel;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            int[] numbers = { 1, 2, 3, 4, 5 };

            numbers[4] = 10;
            ReadOnlyCollection numbers_readonly = Array.AsReadOnly(numbers);
            //numbers_readonly[1] = 120; // Error: numbers_readonly is read only collection
            numbers[3] = 89; // the int array: numbers is not read-only

            for (int i = 0; i < numbers_readonly.Count; i++)
            {
                Console.WriteLine(numbers_readonly[i]);
            }
        }
        
    }
}

/*
run:
  
1
2
3
89
10

*/


answered Feb 26, 2015 by avibootz
edited Feb 28, 2015 by avibootz

Related questions

...