Altbilgi içeriğine atla
.NET YARDıM

C# ArrayList (Geliştiriciler İçin Nasıl Çalışır)

ArrayList sınıfı, .NET Framework'ün nesne koleksiyonu saklamak için tasarlanmış koleksiyon ad alanının bir parçasıdır. Bu, her türlü veri türünü içerebileceği anlamına gelen, jenerik olmayan bir koleksiyon. Bu özellik, onu oldukça esnek kılar ancak jenerik koleksiyonlara kıyasla daha az tür güvenliğidir. ArrayList, çift elemanlar içerebilir ve geçerli bir değer eklendiğinde veya çıkartıldığında dinamik yeniden boyutlandırmayı destekler. Bu makalede, ArrayList'in temel ilkeleri ve IronPDF Kütüphanesi Özellikleri tartışılacaktır.

ArrayList'in Temel İlkeleri

ArrayList, esasen, herhangi bir veri türündeki elemanların bir sayısını saklayabilen jenerik olmayan bir koleksiyondur, bu da onu çeşitli programlama senaryoları için çok yönlü bir seçenek yapar. Elemanlar ekleme veya sabit bir boyut kısıtlaması olmadan elemanları çıkarma yeteneği, onun temel özelliklerinden biridir. ArrayList, yeni elemanları barındırmak için boyutunu otomatik olarak ayarlar, bu, IList arayüzünün uygulanması aracılığıyla mümkün olan bir özelliktir. Bu dinamik yeniden boyutlandırma, yaşam süreleri boyunca değişken sayıda eleman içeren koleksiyonları gerektiren uygulamalar için çok önemlidir.

Bir ArrayList örneği oluşturduğunuzda, tamsayılardan ve dizgilerden karmaşık özel objelere kadar her türden nesne değerini içerebilecek bir koleksiyon oluşturuyorsunuz demektir. ArrayList'e eleman eklemek, Add gibi yöntemler sayesinde basittir; bu da koleksiyonun sonuna bir nesne değeri ekler ve Insert, belirli bir dizine yeni bir öğe yerleştirir, mevcut elemanları gerekli olduğu gibi yer açmak için kaydırır. Bu esneklik, uygulama geliştikçe koleksiyonları daha etkili bir şekilde yönetmenizi sağlar.

Elemanlar ile Çalışma

ArrayList'e eleman eklemek basit ve sezgiseldir. Örneğin, çeşitli veri türlerinden bir koleksiyon oluşturduğunuz bir senaryoyu düşünün. Add yöntemiyle, diziler ve tamsayılar gibi herhangi bir nesneyi ArrayList'e ekleyebilirsiniz ya da diğer koleksiyonlar da. ArrayList kapasitesi gereken şekilde otomatik olarak arttırılır, her zaman yeni nesne elemanları için yer olduğundan emin olunur. Bu otomatik yeniden boyutlandırma, daha fazla eleman barındırmak için manuel yeniden boyutlandırma veya yeni bir dizi oluşturmayı gerektiren geleneksel dizilere göre önemli bir avantajdır.

ArrayList ayrıca, belirli pozisyonlarda veya int indekslerde eleman ekleme ve kaldırma yöntemleri sağlar. Insert yöntemi, belirli bir konumda bir eleman eklemenize olanak tanır, böylece koleksiyon içinde yeni elemanları tam olarak belirlediğiniz bir dizinde yerleştirme işlemi etkinleşir. Benzer şekilde, Remove ve RemoveAt yöntemleri, ya kaldırılacak nesneyi ya da koleksiyon içindeki dizinini belirterek elemanların silinmesini kolaylaştırır. ArrayList içindeki elemanlar üzerindeki bu ayrıntılı kontrol, dinamik verileri yönetmek için güçlü bir araçtır.

Elemanları Oluşturma ve Ekleme

ArrayList kullanmaya başlamak için önce ondan bir örnek oluşturmanız gerekir. Daha sonra, ArrayList'e Add yöntemiyle eleman ekleyebilirsiniz, bu da bir nesneyi ArrayList'in sonuna ekler.

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

C# ArrayList (Geliştiriciler İçin Nasıl Çalışır): Şekil 1 - ArrayList Çıktısı Oluşturma

Bu örnek, yeni bir ArrayList oluşturma ve farklı türde elemanlar ekleme işlemini gösterir. foreach döngüsü daha sonra ArrayList'ten geçer, her elemanı yazdırarak.

Elemanları Ekleme

Belirtilen bir dizine eleman eklemek için Insert yöntemini kullanın; bunun sıfır tabanlı bir indeks sistemi olduğunu unutmayın.

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

Elemanları Kaldırma

Elemanları kaldırmak için Remove ve RemoveAt yöntemleri kullanışlı gelir. Remove, belirli bir nesnenin ilk geçtiği yeri silerken, RemoveAt belirtilen tamsayı dizinde elemanı kaldırır.

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

Örnek: Bir ArrayList Yönetmek

C#'ta ArrayList kullanmanın gelişmiş bir örneği, yalnızca eleman ekleyip çıkarmak gibi temel işlemleri değil, aynı zamanda sıralama, arama ve ArrayList'i diğer veri yapılarıyla dönüşümler gibi daha karmaşık manipülasyonları da sergilemektir. Program.cs dosyasına aşağıdaki örneği koyup çalıştırın:

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

Bu kod parçacığı şunları nasıl yapacağını gösterir:

  • Başlangıçta bir dizi elemanla bir ArrayList başlatın.
  • Tekli ve çoklu elemanları ArrayList içine ekleyin.
  • Değerle ve indeksle elemanları kaldırın.
  • Elemanları sıralamak için ArrayListi sıralayın.
  • Bir elemanı arayın ve dizinini bulun.
  • ArrayList'i standart bir diziye dönüştürün.
  • LINQ ile ArrayList'i kullanarak tek sayıları filtrelemek, jenerik olmayan koleksiyonları LINQ'un güçlü sorgu yetenekleriyle bir araya getirmeye değinmek.

C# ArrayList (Geliştiriciler İçin Nasıl Çalışır): Şekil 2 - ArrayList Çıktısı

IronPDF Tanıtımı: C# PDF Kütüphanesi

C# ArrayList (Geliştiriciler İçin Nasıl Çalışır): Şekil 3 - IronPDF

IronPDF, PDF oluşturma sürecini basitleştiren güçlü bir C# kütüphanesidir ve HTML'den PDF'ler oluşturma, metin ve görüntü ekleme, belgeleri güvenli hale getirme ve çok daha fazlası dahil olmak üzere PDF manipulasyonu için çeşitli özellikler sunar.

ArrayList ile IronPDF Entegrasyonu

ArrayList öğeleri oluşturan basit bir C# programı yazalım ve ardından bu öğeleri listeleyen bir PDF dokümanı oluşturmak için IronPDF'i kullanalım.

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

Bu örnekte, bir ArrayList adlı itemList oluşturarak birkaç dizgi öğesiyle doldurmaya başlayarak başlıyoruz. Ardından, HTML içeriğini PDF dokümanına dönüştürmek için IronPDF'un ChromePdfRenderer sınıfının yeni bir örneğini başlatıyoruz.

Çıktı

IronPDF tarafından üretilen çıktı PDF'i:

C# ArrayList (Geliştiriciler İçin Nasıl Çalışır): Şekil 4 - PDF Çıktısı

Sonuç

C# ArrayList (Geliştiriciler İçin Nasıl Çalışır): Şekil 5 - Lisanslama

ArrayList, C# tarafından sunulan güçlü bir koleksiyon olup, nesne listesini saklamak içindir. Boyutunu dinamik olarak ayarlama ve herhangi bir türde eleman saklama yeteneği, çok çeşitli uygulamalar için onu esnek hale getirir. Ancak, tür güvenliği ve daha iyi performans için jenerik koleksiyonlar önerilir. ArrayList ve yöntemleriyle denemeler yapmak, onun kullanım alanlarını ve uygulamalarınıza nasıl uyabileceğini anlamanızı sağlayacaktır.

Ayrıca, C# yeteneklerini PDF manipulasyonuna genişletmekle ilgilenenler için, IronPDF, özelliklerini keşfetmek için bir ücretsiz deneme için PDF Fonksiyonları .NET sunar. Lisanslar $999 ile başlar ve .NET uygulamalarına PDF işlevselliğini entegre etmek için kapsamlı bir çözüm sunar.

Sıkça Sorulan Sorular

C#'ta bir ArrayList'i PDF'ye nasıl dönüştürebilirim?

IronPDF kullanarak C#'ta bir ArrayList'ten PDF oluşturabilirsiniz. ArrayList'i tekrar ederek, içeriği PDF oluşturmak için uygun bir formata dönüştürün, ardından PDF'yi oluşturmak ve kaydetmek için IronPDF'in metodlarını kullanın.

ArrayLists ile IronPDF kullanmanın avantajları nelerdir?

IronPDF, geliştiricilerin ArrayLists içinde saklanan verileri kolayca PDF belgelerine dönüştürmesine olanak tanır. Bu, raporlar oluşturmak veya liste öğelerini minimum kod ve maksimum verimlilikle dışa aktarmak için yararlıdır.

ArrayList'ten oluşturulan bir PDF'ye metin ve resimler ekleyebilir miyim?

Evet, IronPDF ile PDF'nizi düzenleyebilir, bir ArrayList'teki öğeleri tekrar ederken metin, resimler ve diğer içerikleri ekleyebilirsiniz.

C#'ta bir ArrayList'ten oluşturulan bir PDF'yi güvenli hale getirmek mümkün mü?

IronPDF, PDF belgelerinizi güvenli hale getirme özellikleri sunar. ArrayList içindeki verilerden üretilen PDF'lere erişimi ve düzenlemeyi sınırlamak için şifreler ve izinler ayarlayabilirsiniz.

Dinamik boyutlandırma, PDF kütüphaneleriyle entegrasyon sırasında ArrayList'e nasıl fayda sağlar?

ArrayList'in dinamik boyutlandırılması, kapasitesi hakkında endişelenmenize gerek kalmadan gereken şekilde öğe eklemenizi veya kaldırmanızı sağlar. Bu esneklik, IronPDF gibi kütüphaneler kullanılarak PDF oluşturmak için veri hazırlanırken faydalıdır.

C# geliştiricileri için IronPDF kullanmanın avantajı nedir?

IronPDF, C# geliştiricilerine PDF belgelerini oluşturmak ve manipüle etmek için sağlam bir araç seti sunar. HTML'den PDF'ye dönüşüm, açıklamalar ekleme ve birden fazla PDF'yi birleştirme gibi çeşitli özellikleri destekler ve .NET uygulamaları için önemli bir kütüphane haline getirir.

Farklı veri türlerini içeren bir ArrayList ile PDF oluştururken nasıl başa çıkabilirim?

ArrayList'in herhangi bir veri türünü depolayabilmesi nedeniyle, bu farklı veri türlerini düzenleyip dönüştürmek için ArrayList'i tekrar ederek ve gerekli dönüşümleri uygulayarak, IronPDF kullanarak uyumlu bir PDF belgesi yaratabilirsiniz.

ArrayLists ile IronPDF kullanımı için bazı sorun giderme ipuçları nelerdir?

PDF'ye dönüştürmeden önce ArrayList'inizdeki verilerin doğru biçimlendirildiğinden emin olun. Boş değerler ve uyumsuz veri türleri olup olmadığını kontrol edin ve PDF oluşturma sürecinde ortaya çıkan sorunları belirlemek ve çözmek için IronPDF hata ayıklama araçlarını kullanın.

Jacob Mellor, Teknoloji Direktörü @ Team Iron
Teknoloji Direktörü

Jacob Mellor, Iron Software'de Baş Teknoloji Yöneticisidir ve C# PDF teknolojisinde öncü bir mühendisdir. Iron Software'ın ana kod tabanının ilk geliştiricisi olarak, CEO Cameron Rimington ile birlikte şirketin ürün mimarisini 50'den fazla kişilik bir şirkete dönüştürmüştür ...

Daha Fazla Oku

Iron Destek Ekibi

Haftada 5 gün, 24 saat çevrimiçiyiz.
Sohbet
E-posta
Beni Ara