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.
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