C#| How to change the size of onedimensional array (original) (raw)

C#| How to change the size of one-dimensional array

Last Updated : 28 Aug, 2019

Array.Resize(T[], Int32) Method is used to resize the number of elements present in the array. Or in other words, this method is used to change the number of elements of a one-dimensional array to the specified new size. It resizes the only 1-D array, not multidimensional array. Syntax:

public static void Resize (ref T[] array, int newSize);

Parameters:

array: It is a one-dimensional, zero-based array to resize, or null to create a new array with the specified size.newsize: It is the size of the new array.

**Exception:**If the value of nsize is less than zero, then this method will give ArgumentOutOfRangeException.Note: This method is an O(n) operation, where n is new size. Below given are some examples to understand the implementation in a better way: Example 1:

CSharp `

// C# program to resize the // elements of the 1-D array using System;

public class GFG {

// Main method
static public void Main()
{

    // create and initialize array
    string[] myarray = {"C#", "Java", "C++", "Python",
                         "HTML", "CSS", "JavaScript"};

    // Display original array before Resize
    Console.WriteLine("Original Array:");
    
    foreach(string i in myarray)
    {
        Console.WriteLine(i);
    }

    int len = myarray.Length;
    Console.WriteLine("Length of myarray: "+len);
    Console.WriteLine();
    
    // Resize the element of myarray and 
    // create a new array. Here new array
    // is smaller than the original array 
    // so, elements are copied from the 
    // myarray to the new array until the
    // new one is filled. The rest of the
    // elements in the old array are ignored
    Array.Resize(ref myarray, len - 3);

    Console.WriteLine("New array is less than myarray:");
    
    foreach(string j in myarray)
    {
        Console.WriteLine(j);
    }
    
}

}

`

Output:

Original Array: C# Java C++ Python HTML CSS JavaScript Length of myarray: 7

New array is less than myarray: C# Java C++ Python

Example 2:

CSharp `

// C# program to resize the // elements of the 1-D array using System;

public class GFG {

// Main method
static public void Main()
{

    // create and initialize array
    string[] myarray = {"C#", "C++", "Ruby", 
                     "Java", "PHP", "Perl"};

    // Display original string before Resize
    Console.WriteLine("Original Array:");
    
    foreach(string i in myarray)
    {
        Console.WriteLine(i);
    }

    // Length of old array
    int len = myarray.Length;
    Console.WriteLine("Length of myarray: "+len);
    Console.WriteLine();
    
    // Resize the element of myarray 
    // and create a new array
    // Here new array is greater than
    // original array so, all the element 
    // from myarray is copied to new array
    // and remaining will be null
    Array.Resize(ref myarray, 10);
    
    Console.WriteLine("New array is greater than myarray:");
    
    foreach(string j in myarray)
    {
        Console.WriteLine(j);
    }
    
    // Length of new array
    int len1 = myarray.Length;
    Console.WriteLine("Length of New Array: "+len1);

}

}

`

Output:

Original Array: C# C++ Ruby Java PHP Perl Length of myarray: 6

New array is greater than myarray: C# C++ Ruby Java PHP Perl

Length of New Array: 10

Reference: https://docs.microsoft.com/en-us/dotnet/api/system.array.resize?view=netcore-2.1