Advantages and Disadvantages of Arrays in C#

Advantages and Disadvantages of Arrays in C#

In this article, I am going to discuss the Advantages and Disadvantages of Arrays in C# with examples. This is one of the most frequently asked C# interview questions. Before proceeding to this article, I strongly recommended you to read the following two articles.

Arrays in C# – Here we discussed the basics of the array along with one-dimensional array with examples.

Two-Dimensional Arrays in C# – Here we discussed the two-dimensional arrays along with jagged array in C# with examples.

Advantages of using an Array in C#:

The advantages of using an array in C# are as follows:

  1. It is used to represent similar types of multiple data items using a single name.
  2. We can use arrays to implement other data structures such as linked lists, trees, graphs, stacks, queues etc.
  3. The two-dimensional arrays in C# are used to represent matrices.
  4. The Arrays in C# are strongly typed. That means they are used to store similar types of multiple data items using a single name. As the arrays are strongly typed so we are getting two advantages. First, the performance of the application will be much better because boxing and unboxing will not happen. Secondly, runtime errors will be prevented because of type mismatch. In this case, at compile time it will give you the error if there is a type mismatch.

Example:
In the following example, we create an integer array with the name numberArray. As it is an integer array so we can store only the integer values within the array. As you can see when we try to store a string value within the array, immediately it gives us a compiler error saying “cannot implicitly convert a string to an integer“. This is the reason why we call the arrays in C# are strongly typed.

Advantages and Disadvantages of Arrays in C#

You can get the type mismatches and runtime errors with collection classes like ArrayList, Queue, Stack, etc which are present in the System.Collections namespace. We will discuss collections in details from our next article. But in this article, to make you understand the type mismatch let create an example using the ArrayList which is a collection in C#.

Type Mismatch Example using ArrayList Collection in C#:

In the following example, we create an array using the ArrayList collection with the name numberArray. The collection classes which are present in the System.Collections namespace such as ArrayList is loosely typed. the Loosely typed means, you can store any type of data into that collection. The ArrayList in C# is operatee on object data type, which makes the ArrayList as loosely typed. So you will not get any compile time error, but when you run the application, you will get a runtime error.

namespace ArayDemo
{
    class Program
    {
        static void Main(string[] args)
        {
            ArrayList numberArray = new ArrayList();
            numberArray.Add(10);
            numberArray.Add(200);

            //No CompileTime Error
            numberArray.Add("Pranaya"); 

            foreach(int no in numberArray)
            {
                //We Get Runtime Error
                Console.WriteLine(no);
            }

            Console.ReadKey();
        }
    }
}

When you run the application, at runtime you will get the following exception.

Advantages and Disadvantages of Arrays in C#

Disadvantages of using arrays in C#:

Array size is fixed. So, we should know in advance how many elements are going to be stored in the array. Once the array is created, then we can never increase the size of an array. If you want then we can do it manually by creating a new array and copying the old array elements into the new array.

As the array size is fixed, if we allocate more memory than the requirement then the extra memory will be wasted. On the other hand, if we allocate less memory than the requirement, then it will create the problem.

As the elements of an array are stored in contiguous memory locations. So insertions and deletions of array elements are very difficult and also time-consuming. So the time complexity increase in insertion and deletion operation.

We can never insert an element into the middle of an array. It is also not possible to delete or remove elements from the middle of an array.

To overcome the above problems Collections are introduced in C#. In the article, we are going to start Collections in C#.

SUMMARY:

In this article, I try to explain the Advantages and Disadvantages of Arrays in C# with examples. I hope this article will help you with your need. I would like to have your feedback. Please post your feedback, question, or comments about this article.

Leave a Reply

Your email address will not be published. Required fields are marked *