Ir para o conteúdo do rodapé
AJUDA DO .NET

ArrayList em C# (Como funciona para desenvolvedores)

A classe ArrayList faz parte do namespace de coleções do .NET Framework e foi projetada para armazenar uma coleção de objetos. Trata-se de uma coleção não genérica, o que significa que pode conter itens de qualquer tipo de dado. Essa característica torna a coleção altamente flexível, mas menos segura em relação aos tipos, quando comparada a coleções genéricas. O ArrayList pode conter elementos duplicados e permite redimensionamento dinâmico à medida que um valor válido é adicionado ou removido. Neste artigo, discutiremos os conceitos básicos de ArrayList e os recursos da biblioteca IronPDF .

Noções básicas de ArrayList

O ArrayList é essencialmente uma coleção não genérica capaz de armazenar vários elementos de qualquer tipo de dado, tornando-se uma escolha versátil para diversos cenários de programação. A capacidade de adicionar ou remover elementos à vontade, sem as restrições de um tamanho fixo, é uma de suas principais características. O ArrayList ajusta seu tamanho automaticamente para acomodar novos elementos, um recurso possibilitado pela implementação da interface IList . Esse redimensionamento dinâmico é crucial para aplicações que exigem coleções com um número variável de elementos ao longo de sua vida útil.

Ao instanciar um ArrayList, você está criando uma coleção que pode armazenar qualquer valor de objeto, desde números inteiros e strings até objetos personalizados complexos. Adicionar elementos a um ArrayList é simples, graças a métodos como Add , que anexa o valor de um objeto ao final da coleção, e Insert , que coloca um novo item em um índice especificado, deslocando os elementos existentes conforme necessário para abrir espaço. Essa flexibilidade permite que os desenvolvedores gerenciem coleções de forma mais eficaz, adaptando-se às necessidades do aplicativo à medida que ele evolui.

Trabalhando com Elementos

Adicionar elementos a um ArrayList é simples e intuitivo. Por exemplo, considere um cenário em que você está criando uma coleção de vários tipos de dados. Com o método Add , você pode adicionar qualquer objeto ao seu ArrayList , desde strings a inteiros, ou até mesmo outras coleções. A capacidade do ArrayList é aumentada automaticamente conforme necessário, garantindo que sempre haja espaço para novos elementos do tipo obj. Esse redimensionamento automático é uma vantagem significativa em relação aos arrays tradicionais, que exigem redimensionamento manual ou a criação de um novo array para acomodar mais elementos.

O ArrayList também fornece métodos para inserir e remover elementos em posições específicas ou índices inteiros. O método Insert permite adicionar um elemento em uma posição específica, possibilitando efetivamente a colocação de novos itens com precisão dentro da coleção em qualquer índice especificado. Da mesma forma, os métodos Remove e RemoveAt facilitam a exclusão de itens, seja especificando o objeto a ser removido ou seu índice dentro da coleção. Esse controle granular sobre os elementos dentro do ArrayList o torna uma ferramenta poderosa para gerenciar dados dinâmicos.

Criando e adicionando elementos

Para começar a usar um ArrayList , primeiro você precisa criar uma instância dele. Em seguida, você pode adicionar elementos ao ArrayList usando o método Add , que insere um objeto no final do ArrayList .

using System;
using System.Collections;

class Program
{
    // The main entry point of the program
    public static void Main()
    {
        // Create a new ArrayList
        ArrayList myArrayList = new ArrayList();

        // Add elements of different types
        myArrayList.Add("Hello");
        myArrayList.Add(100);

        var item = "World";
        myArrayList.Add(item);

        // Iterate through the ArrayList and print each element
        foreach (var obj in myArrayList)
        {
            Console.WriteLine(obj);
        }
    }
}
using System;
using System.Collections;

class Program
{
    // The main entry point of the program
    public static void Main()
    {
        // Create a new ArrayList
        ArrayList myArrayList = new ArrayList();

        // Add elements of different types
        myArrayList.Add("Hello");
        myArrayList.Add(100);

        var item = "World";
        myArrayList.Add(item);

        // Iterate through the ArrayList and print each element
        foreach (var obj in myArrayList)
        {
            Console.WriteLine(obj);
        }
    }
}
Imports System
Imports System.Collections

Friend Class Program
	' The main entry point of the program
	Public Shared Sub Main()
		' Create a new ArrayList
		Dim myArrayList As New ArrayList()

		' Add elements of different types
		myArrayList.Add("Hello")
		myArrayList.Add(100)

		Dim item = "World"
		myArrayList.Add(item)

		' Iterate through the ArrayList and print each element
		For Each obj In myArrayList
			Console.WriteLine(obj)
		Next obj
	End Sub
End Class
$vbLabelText   $csharpLabel

ArrayList em C# (Como funciona para desenvolvedores): Figura 1 - Saída da criação de um ArrayList

Este exemplo demonstra como criar um novo ArrayList e adicionar diferentes tipos de elementos a ele. O loop foreach então itera pelo ArrayList , imprimindo cada elemento.

Inserindo elementos

Para inserir um elemento em um índice específico, utilize o método Insert, lembrando que este é um sistema de indexação baseado em zero.

// Insert element at index 1
myArrayList.Insert(1, "Inserted Item");
// Insert element at index 1
myArrayList.Insert(1, "Inserted Item");
' Insert element at index 1
myArrayList.Insert(1, "Inserted Item")
$vbLabelText   $csharpLabel

Removendo elementos

Para remover elementos, os métodos Remove e RemoveAt são muito úteis. Remove exclui a primeira ocorrência de um objeto específico, enquanto RemoveAt remove o elemento no índice inteiro especificado.

myArrayList.Remove("Hello"); // Removes the first occurrence of "Hello"
myArrayList.RemoveAt(0);     // Removes the element at index 0
myArrayList.Remove("Hello"); // Removes the first occurrence of "Hello"
myArrayList.RemoveAt(0);     // Removes the element at index 0
myArrayList.Remove("Hello") ' Removes the first occurrence of "Hello"
myArrayList.RemoveAt(0) ' Removes the element at index 0
$vbLabelText   $csharpLabel

Exemplo: Gerenciando um ArrayList

Criar um exemplo avançado de uso de ArrayList em C# envolve demonstrar não apenas as operações básicas, como adicionar ou remover elementos, mas também manipulações mais complexas, como ordenação, pesquisa e conversão do ArrayList para outras estruturas de dados. Insira o seguinte exemplo no arquivo Program.cs para executá-lo:

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

class AdvancedArrayListExample
{
    static void Main(string[] args)
    {
        // Initialize an ArrayList with some elements
        ArrayList numbers = new ArrayList() { 5, 8, 1, 3, 2 };

        // Adding elements
        numbers.Add(6); // Add an element to the end
        numbers.AddRange(new int[] { 7, 9, 0 }); // Add multiple elements from a specified collection.

        Console.WriteLine("Initial ArrayList:");
        foreach (int number in numbers)
        {
            Console.Write(number + " ");
        }
        Console.WriteLine("\n");

        // Removing elements
        numbers.Remove(1); // Remove the element 1
        numbers.RemoveAt(0); // Remove the first element

        Console.WriteLine("After Removal:");
        foreach (int number in numbers)
        {
            Console.Write(number + " ");
        }
        Console.WriteLine("\n");

        // Sorting
        numbers.Sort(); // Sort the ArrayList
        Console.WriteLine("Sorted ArrayList:");
        foreach (int number in numbers)
        {
            Console.Write(number + " ");
        }
        Console.WriteLine("\n");

        // Searching
        int searchFor = 5;
        int index = numbers.IndexOf(searchFor); // Find the index of the element
        if (index != -1)
        {
            Console.WriteLine($"Element {searchFor} found at index {index}");
        }
        else
        {
            Console.WriteLine($"Element {searchFor} not found.");
        }
        Console.WriteLine("\n");

        // Converting ArrayList to Array
        int[] numbersArray = (int[])numbers.ToArray(typeof(int));
        Console.WriteLine("Converted Array:");
        foreach (int number in numbersArray)
        {
            Console.Write(number + " ");
        }
        Console.WriteLine("\n");

        // Demonstrate LINQ with ArrayList (Requires System.Linq)
        var evenNumbers = numbers.Cast<int>().Where(n => n % 2 == 0).ToList(); // Assign values to evenNumbers from the filtered results.
        Console.WriteLine("Even Numbers:");
        evenNumbers.ForEach(n => Console.Write(n + " "));
        Console.WriteLine();
    }
}
using System;
using System.Collections;
using System.Linq;

class AdvancedArrayListExample
{
    static void Main(string[] args)
    {
        // Initialize an ArrayList with some elements
        ArrayList numbers = new ArrayList() { 5, 8, 1, 3, 2 };

        // Adding elements
        numbers.Add(6); // Add an element to the end
        numbers.AddRange(new int[] { 7, 9, 0 }); // Add multiple elements from a specified collection.

        Console.WriteLine("Initial ArrayList:");
        foreach (int number in numbers)
        {
            Console.Write(number + " ");
        }
        Console.WriteLine("\n");

        // Removing elements
        numbers.Remove(1); // Remove the element 1
        numbers.RemoveAt(0); // Remove the first element

        Console.WriteLine("After Removal:");
        foreach (int number in numbers)
        {
            Console.Write(number + " ");
        }
        Console.WriteLine("\n");

        // Sorting
        numbers.Sort(); // Sort the ArrayList
        Console.WriteLine("Sorted ArrayList:");
        foreach (int number in numbers)
        {
            Console.Write(number + " ");
        }
        Console.WriteLine("\n");

        // Searching
        int searchFor = 5;
        int index = numbers.IndexOf(searchFor); // Find the index of the element
        if (index != -1)
        {
            Console.WriteLine($"Element {searchFor} found at index {index}");
        }
        else
        {
            Console.WriteLine($"Element {searchFor} not found.");
        }
        Console.WriteLine("\n");

        // Converting ArrayList to Array
        int[] numbersArray = (int[])numbers.ToArray(typeof(int));
        Console.WriteLine("Converted Array:");
        foreach (int number in numbersArray)
        {
            Console.Write(number + " ");
        }
        Console.WriteLine("\n");

        // Demonstrate LINQ with ArrayList (Requires System.Linq)
        var evenNumbers = numbers.Cast<int>().Where(n => n % 2 == 0).ToList(); // Assign values to evenNumbers from the filtered results.
        Console.WriteLine("Even Numbers:");
        evenNumbers.ForEach(n => Console.Write(n + " "));
        Console.WriteLine();
    }
}
Imports Microsoft.VisualBasic
Imports System
Imports System.Collections
Imports System.Linq

Friend Class AdvancedArrayListExample
	Shared Sub Main(ByVal args() As String)
		' Initialize an ArrayList with some elements
		Dim numbers As New ArrayList() From { 5, 8, 1, 3, 2 }

		' Adding elements
		numbers.Add(6) ' Add an element to the end
		numbers.AddRange(New Integer() { 7, 9, 0 }) ' Add multiple elements from a specified collection.

		Console.WriteLine("Initial ArrayList:")
		For Each number As Integer In numbers
			Console.Write(number & " ")
		Next number
		Console.WriteLine(vbLf)

		' Removing elements
		numbers.Remove(1) ' Remove the element 1
		numbers.RemoveAt(0) ' Remove the first element

		Console.WriteLine("After Removal:")
		For Each number As Integer In numbers
			Console.Write(number & " ")
		Next number
		Console.WriteLine(vbLf)

		' Sorting
		numbers.Sort() ' Sort the ArrayList
		Console.WriteLine("Sorted ArrayList:")
		For Each number As Integer In numbers
			Console.Write(number & " ")
		Next number
		Console.WriteLine(vbLf)

		' Searching
		Dim searchFor As Integer = 5
		Dim index As Integer = numbers.IndexOf(searchFor) ' Find the index of the element
		If index <> -1 Then
			Console.WriteLine($"Element {searchFor} found at index {index}")
		Else
			Console.WriteLine($"Element {searchFor} not found.")
		End If
		Console.WriteLine(vbLf)

		' Converting ArrayList to Array
		Dim numbersArray() As Integer = DirectCast(numbers.ToArray(GetType(Integer)), Integer())
		Console.WriteLine("Converted Array:")
		For Each number As Integer In numbersArray
			Console.Write(number & " ")
		Next number
		Console.WriteLine(vbLf)

		' Demonstrate LINQ with ArrayList (Requires System.Linq)
		Dim evenNumbers = numbers.Cast(Of Integer)().Where(Function(n) n Mod 2 = 0).ToList() ' Assign values to evenNumbers from the filtered results.
		Console.WriteLine("Even Numbers:")
		evenNumbers.ForEach(Sub(n) Console.Write(n & " "))
		Console.WriteLine()
	End Sub
End Class
$vbLabelText   $csharpLabel

Este trecho de código demonstra como:

  • Inicialize um ArrayList com um conjunto de elementos.
  • Adicione elementos únicos e múltiplos ao ArrayList .
  • Remover elementos por valor e por índice.
  • Ordene o ArrayList para que os elementos fiquem em ordem.
  • Procure um elemento e encontre seu índice.
  • Converter o ArrayList em um array padrão.
  • Utilize LINQ com ArrayList para filtrar números pares, demonstrando como conectar coleções não genéricas com os poderosos recursos de consulta do LINQ.

ArrayList em C# (Como funciona para desenvolvedores): Figura 2 - Saída do ArrayList

Introdução ao IronPDF: Biblioteca PDF em C

ArrayList em C# (Como funciona para desenvolvedores): Figura 3 - IronPDF

IronPDF é uma poderosa biblioteca para C# que simplifica o complexo processo de geração de PDFs, oferecendo uma ampla gama de recursos para manipulação de PDFs, incluindo a capacidade de gerar PDFs a partir de HTML , adicionar texto e imagens, proteger documentos e muito mais.

Integrando o IronPDF com o ArrayList

Vamos escrever um programa simples em C# que cria um ArrayList de itens e, em seguida, usa o IronPDF para gerar um documento PDF listando esses itens.

using IronPdf;
using System;
using System.Collections;

class PdfCode
{
    static void Main(string[] args)
    {
        // Set your IronPDF license key here
        IronPdf.License.LicenseKey = "Your_License_Key";

        // Create a new ArrayList and add some items
        ArrayList itemList = new ArrayList();
        itemList.Add("Apple");
        itemList.Add("Banana");
        itemList.Add("Cherry");
        itemList.Add("Date");

        // Initialize a new PDF document
        var Renderer = new ChromePdfRenderer();

        // Create an HTML string to hold our content
        string htmlContent = "<h1>Items List</h1><ul>";

        // Iterate over each item in the ArrayList and add it to the HTML string
        foreach (var item in itemList)
        {
            htmlContent += $"<li>{item}</li>";
        }
        htmlContent += "</ul>";

        // Convert the HTML string to a PDF document
        var PDF = Renderer.RenderHtmlAsPdf(htmlContent);

        // Save the PDF to a file
        PDF.SaveAs("ItemList.pdf");

        Console.WriteLine("PDF file 'ItemList.pdf' has been generated.");
    }
}
using IronPdf;
using System;
using System.Collections;

class PdfCode
{
    static void Main(string[] args)
    {
        // Set your IronPDF license key here
        IronPdf.License.LicenseKey = "Your_License_Key";

        // Create a new ArrayList and add some items
        ArrayList itemList = new ArrayList();
        itemList.Add("Apple");
        itemList.Add("Banana");
        itemList.Add("Cherry");
        itemList.Add("Date");

        // Initialize a new PDF document
        var Renderer = new ChromePdfRenderer();

        // Create an HTML string to hold our content
        string htmlContent = "<h1>Items List</h1><ul>";

        // Iterate over each item in the ArrayList and add it to the HTML string
        foreach (var item in itemList)
        {
            htmlContent += $"<li>{item}</li>";
        }
        htmlContent += "</ul>";

        // Convert the HTML string to a PDF document
        var PDF = Renderer.RenderHtmlAsPdf(htmlContent);

        // Save the PDF to a file
        PDF.SaveAs("ItemList.pdf");

        Console.WriteLine("PDF file 'ItemList.pdf' has been generated.");
    }
}
Imports IronPdf
Imports System
Imports System.Collections

Friend Class PdfCode
	Shared Sub Main(ByVal args() As String)
		' Set your IronPDF license key here
		IronPdf.License.LicenseKey = "Your_License_Key"

		' Create a new ArrayList and add some items
		Dim itemList As New ArrayList()
		itemList.Add("Apple")
		itemList.Add("Banana")
		itemList.Add("Cherry")
		itemList.Add("Date")

		' Initialize a new PDF document
		Dim Renderer = New ChromePdfRenderer()

		' Create an HTML string to hold our content
		Dim htmlContent As String = "<h1>Items List</h1><ul>"

		' Iterate over each item in the ArrayList and add it to the HTML string
		For Each item In itemList
			htmlContent &= $"<li>{item}</li>"
		Next item
		htmlContent &= "</ul>"

		' Convert the HTML string to a PDF document
		Dim PDF = Renderer.RenderHtmlAsPdf(htmlContent)

		' Save the PDF to a file
		PDF.SaveAs("ItemList.pdf")

		Console.WriteLine("PDF file 'ItemList.pdf' has been generated.")
	End Sub
End Class
$vbLabelText   $csharpLabel

Neste exemplo, começamos criando um ArrayList chamado itemList e o preenchendo com vários itens do tipo string. Em seguida, inicializamos uma nova instância da classe ChromePdfRenderer do IronPDF, que usaremos para converter conteúdo HTML em um documento PDF.

Saída

Aqui está o PDF gerado pelo IronPDF:

ArrayList em C# (Como funciona para desenvolvedores): Figura 4 - Saída em PDF

Conclusão

ArrayList em C# (Como funciona para desenvolvedores): Figura 5 - Licenciamento

O ArrayList é uma coleção poderosa oferecida pelo C# para armazenar uma lista de objetos. Sua capacidade de ajustar o tamanho dinamicamente e armazenar elementos de qualquer tipo o torna versátil para uma ampla gama de aplicações. No entanto, para garantir a segurança dos tipos de dados e obter melhor desempenho, recomenda-se o uso de coleções genéricas. Experimentar com o ArrayList e seus métodos ajudará você a entender seus usos e como ele pode se encaixar em suas aplicações.

Além disso, para aqueles interessados ​​em expandir suas capacidades em C# para manipulação de PDFs, o IronPDF oferece um período de avaliação gratuito para Funções de PDF em .NET , permitindo explorar seus recursos. As licenças começam em $799, oferecendo uma solução completa para integrar a funcionalidade de PDF em aplicativos .NET .

Perguntas frequentes

Como posso converter um ArrayList em um PDF em C#?

Você pode usar o IronPDF para gerar um PDF a partir de um ArrayList em C#. Itere sobre o ArrayList para compilar o conteúdo em um formato adequado para geração de PDF e, em seguida, use os métodos do IronPDF para criar e salvar o PDF.

Quais são os benefícios de usar o IronPDF com ArrayLists?

O IronPDF permite que desenvolvedores convertam facilmente dados armazenados em ArrayLists em documentos PDF. Isso é útil para criar relatórios ou exportar listas de itens com o mínimo de código e a máxima eficiência.

Posso adicionar texto e imagens a um PDF gerado a partir de um ArrayList?

Sim, com o IronPDF você pode personalizar seu PDF adicionando texto, imagens e outros conteúdos enquanto itera sobre os itens em um ArrayList.

É possível proteger um PDF gerado a partir de um ArrayList em C#?

O IronPDF oferece recursos para proteger seus documentos PDF. Você pode definir senhas e permissões para restringir o acesso e a edição de PDFs gerados a partir de dados em um ArrayList.

Como o redimensionamento dinâmico beneficia o ArrayList na integração com bibliotecas PDF?

O redimensionamento dinâmico de um ArrayList garante que você possa adicionar ou remover elementos conforme necessário, sem se preocupar com sua capacidade. Essa flexibilidade é benéfica ao preparar dados para geração de PDFs usando bibliotecas como o IronPDF.

Qual a vantagem de usar o IronPDF para desenvolvedores C#?

O IronPDF oferece aos desenvolvedores C# um conjunto robusto de ferramentas para gerar e manipular documentos PDF. Ele suporta diversos recursos, como conversão de HTML para PDF, adição de anotações e mesclagem de múltiplos PDFs, tornando-se uma biblioteca essencial para aplicações .NET.

Como posso lidar com diferentes tipos de dados em um ArrayList ao criar um PDF?

Como o ArrayList pode armazenar qualquer tipo de dado, você pode usar o IronPDF para formatar e converter esses diversos tipos de dados em um documento PDF coeso, iterando pelo ArrayList e aplicando as transformações necessárias.

Quais são algumas dicas de solução de problemas ao usar o IronPDF com ArrayLists?

Certifique-se de que os dados em seu ArrayList estejam formatados corretamente antes de convertê-los para PDF. Verifique se há valores nulos e tipos de dados incompatíveis e use as ferramentas de depuração do IronPDF para identificar e resolver quaisquer problemas que surjam durante o processo de geração do PDF.

Curtis Chau
Redator Técnico

Curtis Chau é bacharel em Ciência da Computação (Universidade Carleton) e se especializa em desenvolvimento front-end, com experiência em Node.js, TypeScript, JavaScript e React. Apaixonado por criar interfaces de usuário intuitivas e esteticamente agradáveis, Curtis gosta de trabalhar com frameworks modernos e criar manuais ...

Leia mais

Equipe de suporte de ferro

Estamos online 24 horas por dia, 5 dias por semana.
Bater papo
E-mail
Liga para mim