
C# ArrayList (Geliştiriciler iç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);
}
}
}Imports System
Imports System.Collections
Module Program
' The main entry point of the program
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
End Sub
End Module
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")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 0myArrayList.Remove("Hello") ' Removes the first occurrence of "Hello"
myArrayList.RemoveAt(0) ' Removes the element at index 0Ö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();
}
}Imports System
Imports System.Collections
Imports System.Linq
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
Console.WriteLine(vbCrLf)
' 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
Console.WriteLine(vbCrLf)
' Sorting
numbers.Sort() ' Sort the ArrayList
Console.WriteLine("Sorted ArrayList:")
For Each number As Integer In numbers
Console.Write(number & " ")
Next
Console.WriteLine(vbCrLf)
' 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(vbCrLf)
' 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
Console.WriteLine(vbCrLf)
' 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 ClassBu 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.

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

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.");
}
}Imports IronPdf
Imports System
Imports System.Collections
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
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 ClassBu ö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:

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

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 ve NASA, Tesla ve dünya genelindeki devlet kurumlarına hizmet etmektedir.
İlgili Makaleler


