Anexar ao Array em C#

Muhammad Maisam Abbas 12 outubro 2023
  1. Redimensione um array com listas em C#
  2. Redimensione um array com o método Array.Resize() em C#
Anexar ao Array em C#

Este tutorial apresentará métodos para anexar elementos a um array em C#.

Redimensione um array com listas em C#

Infelizmente, por padrão, não podemos alterar dinamicamente o tamanho de um array. Se temos um array e queremos acrescentar mais valores ao mesmo array, temos que contar com algumas abordagens definidas pelo usuário para redimensionar o array. Podemos redimensionar um array primeiro convertendo a matriz em uma lista com a função ToList() em C#. Podemos então adicionar mais valores à lista com a função List.Add() e converter a lista de volta em um array usando a função ToArray() em C#. O exemplo de código a seguir nos mostra como podemos redimensionar um array usando listas em C#.

using System;
using System.Collections.Generic;
using System.Linq;

namespace Resize_Array {
  class Program {
    static void method1() {
      string[] arr = new string[] { "Hi" };
      List<string> ls = arr.ToList();
      ls.Add("Hello");
      ls.Add("World");
      arr = ls.ToArray();
      foreach (var e in arr) {
        Console.WriteLine(e);
      }
    }
    static void Main(string[] args) {
      method1();
    }
  }
}

Resultado:

Hi Hello World

Convertemos a matriz arr para a lista ls com a função arr.ToList(). Adicionamos novos elementos ao ls e o convertemos de volta em um array com a função ls.ToArray() em C#.

Redimensione um array com o método Array.Resize() em C#

Também podemos usar o método Array.Resize() para atingir o mesmo objetivo em C#. O método Array.Resize() leva o ponteiro para um array como um parâmetro e altera o tamanho dessa matriz para um número especificado. O exemplo de código a seguir nos mostra como podemos redimensionar um array com a função Array.Resize() em C#.

using System;
using System.Collections.Generic;

namespace Resize_Array {
  class Program {
    static void method2() {
      string[] arr = new string[] { "Hi" };

      Array.Resize(ref arr, 3);
      arr[1] = "Hello";
      arr[2] = "World";
      foreach (var e in arr) {
        Console.WriteLine(e);
      }
    }
    static void Main(string[] args) {
      method2();
    }
  }
}

Resultado:

Hi Hello World

Redimensionamos a matriz arr com o método Array.Resize() em C#. Passamos a referência ao arr e o tamanho desejado do arr nos parâmetros do método Array.Resize(). Anexamos novos elementos ao array arr e exibimos o array ao usuário.

Ambos os métodos discutidos acima podem ser usados ​​para anexar elementos a um array. Mas para alocação de memória dinâmica, a estrutura de dados da lista deve ser usada em vez da estrutura de dados do array.

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn

Artigo relacionado - Csharp Array