C# Listesi (Geliştiriciler İçin Nasıl Çalışır)
Listeler, C# içinde veri koleksiyonlarını saklamak ve manipüle etmek için kullanılan, çok yönlü ve dinamik veri yapılarıdır. Bunlar, güçlü, tür güvenli koleksiyon sınıfları ve güçlü türde nesneler sağlayan System.Collections.Generic isim alanının bir parçasıdır. Bu başlangıç seviyesi dostu eğitim, C# Listeleri'ni kullanmanın temelleri, eleman ekleme/oluşturma, belirli indekslere veya ilk meydana gelmelerine erişme, belirtilen elemanları değiştirme ve elemanları kaldırma gibi yaygın kullanımları size rehberlik edecektir.
Listeler Oluşturma
List sınıfını kullanmaya başlamak için önce System.Collections.Generic isim alanını kodunuza dahil etmelisiniz:
using System.Collections.Generic;
using System.Collections.Generic;
Imports System.Collections.Generic
Genel isim alanını ekledikten sonra, içerisindeki tüm elemanların veri türünü açısal parantezler (< >) içinde belirterek yeni bir List nesnesi oluşturun. İşte bir tamsayı listesi oluşturma örneği:
List<int> numbers = new List<int>();
List<int> numbers = new List<int>();
Dim numbers As New List(Of Integer)()
Bazı başlangıç değerleriyle bir liste başlatabilir veya şu şekilde belirtilen koleksiyon ile tanımlayabilirsiniz:
List<string> fruits = new List<string> { "apple", "banana", "cherry" };
List<string> fruits = new List<string> { "apple", "banana", "cherry" };
Dim fruits As New List(Of String) From {"apple", "banana", "cherry"}
Listenin varsayılan başlangıç kapasitesini de belirtebiliriz. Belirtilen başlangıç kapasitesi, listenin varsayılan maksimum kapasitesidir.
Listenin Yöntemleri
Bir Listeye Eleman Sayısı Ekleme
List'e eleman eklemek için Add() metodunu kullanın:
numbers.Add(1); // Adds first element
numbers.Add(2);
numbers.Add(3);
numbers.Add(1); // Adds first element
numbers.Add(2);
numbers.Add(3);
numbers.Add(1) ' Adds first element
numbers.Add(2)
numbers.Add(3)
Belirtilen bir koleksiyondan bir dizi elemanı listeye eklemek için AddRange metodunu kullanabilirsiniz:
List<int> moreNumbers = new List<int> { 4, 5, 6 };
numbers.AddRange(moreNumbers);
List<int> moreNumbers = new List<int> { 4, 5, 6 };
numbers.AddRange(moreNumbers);
Dim moreNumbers As New List(Of Integer) From {4, 5, 6}
numbers.AddRange(moreNumbers)
Liste Elemanlarına Erişim
Bir dizide olduğu gibi, bir indeks kullanarak bir listenin bireysel elemanlarına erişebilirsiniz:
string firstFruit = fruits[0]; // "apple"
string secondFruit = fruits[1]; // "banana"
string firstFruit = fruits[0]; // "apple"
string secondFruit = fruits[1]; // "banana"
Dim firstFruit As String = fruits(0) ' "apple"
Dim secondFruit As String = fruits(1) ' "banana"
Listelerin sıfır tabanlı indekslendiğini unutmayın, bu nedenle ilk elemanın indeks değeri 0'dır. Yukarıdaki örnek, var olduğu takdirde elemanı stringe depolar.
Liste Elemanlarını Değiştirme
Bir listedeki elemanı değiştirmek için istenen indeksteki elemana yeni bir değer atayın, sıfır tabanlı indeksi göz önünde bulundurarak:
fruits[1] = "blueberry";
fruits[1] = "blueberry";
fruits(1) = "blueberry"
Şimdi, meyveler listesindeki ikinci eleman 'muz' yerine 'yabanmersini'.
Bir Listeden Eleman Çıkarma
Bir elemanı listeden çıkarmak için, belirtilen elemanın ilk gerçekleşimini kaldıran Remove metodunu kullanabilirsiniz:
fruits.Remove("apple");
fruits.Remove("apple");
fruits.Remove("apple")
Alternatif olarak, belirtilen dizindeki bir elemanı kaldırmak için RemoveAt metodunu kullanabilirsiniz:
fruits.RemoveAt(0);
fruits.RemoveAt(0);
fruits.RemoveAt(0)
Listeyi tüm elemanlardan temizlemek için Clear metodunu kullanın:
fruits.Clear();
fruits.Clear();
fruits.Clear()
Bir Listede Eleman Bulma
Bir listenin belirli bir eleman içerip içermediğini kontrol etmek için Contains() metodunu kullanabilirsiniz:
bool containsApple = fruits.Contains("apple"); // true
bool containsApple = fruits.Contains("apple"); // true
Dim containsApple As Boolean = fruits.Contains("apple") ' true
Bir elemanın ilk gerçekleşiminin dizinini (index) bulmak için IndexOf metodunu kullanın:
int appleIndex = fruits.IndexOf("apple"); // 0
int appleIndex = fruits.IndexOf("apple"); // 0
Dim appleIndex As Integer = fruits.IndexOf("apple") ' 0
Eğer eleman bulunamazsa, IndexOf -1 değerini döndürür.
Bir Listede Döngü Yapma
Listedeki elemanları dolaşmak için bir foreach döngüsü kullanabilirsiniz:
foreach (string fruit in fruits)
{
Console.WriteLine(fruit);
}
foreach (string fruit in fruits)
{
Console.WriteLine(fruit);
}
For Each fruit As String In fruits
Console.WriteLine(fruit)
Next fruit
Alternatif olarak, listenin içindeki eleman sayısını döndüren Count özelliği ile bir for döngüsü kullanabilirsiniz:
for (int i = 0; i < fruits.Count; i++)
{
Console.WriteLine(fruits[i]);
}
for (int i = 0; i < fruits.Count; i++)
{
Console.WriteLine(fruits[i]);
}
For i As Integer = 0 To fruits.Count - 1
Console.WriteLine(fruits(i))
Next i
Bir Listeyi Sıralama
Bir listeyi artan sıraya göre sıralamak için Sort metodunu kullanın:
List<int> unsortedNumbers = new List<int> { 5, 2, 8, 1, 4 };
unsortedNumbers.Sort();
// Now, unsortedNumbers is { 1, 2, 4, 5, 8 }
List<int> unsortedNumbers = new List<int> { 5, 2, 8, 1, 4 };
unsortedNumbers.Sort();
// Now, unsortedNumbers is { 1, 2, 4, 5, 8 }
Dim unsortedNumbers As New List(Of Integer) From {5, 2, 8, 1, 4}
unsortedNumbers.Sort()
' Now, unsortedNumbers is { 1, 2, 4, 5, 8 }
Bir listeyi azalan sıraya göre sıralamak için, özel bir karşılaştırma ile Sort metodunu kullanabilirsiniz:
unsortedNumbers.Sort((a, b) => b.CompareTo(a));
// Now, unsortedNumbers is { 8, 5, 4, 2, 1 }
unsortedNumbers.Sort((a, b) => b.CompareTo(a));
// Now, unsortedNumbers is { 8, 5, 4, 2, 1 }
unsortedNumbers.Sort(Function(a, b) b.CompareTo(a))
' Now, unsortedNumbers is { 8, 5, 4, 2, 1 }
Daha karmaşık sıralamalar için, özel bir IComparer sınıfı uygulayabilir veya LINQ (Language Integrated Query) kullanabilirsiniz. İkili arama algoritması sıralanmış listeler üzerinde çalışır.
Listeler ile LINQ Kullanımı
LINQ, koleksiyonlar üzerinde güçlü sorgular ve dönüşümler yapmanıza olanak tanır, bunlar arasında listeler de vardır. LINQ kullanmak için, önce System.Linq isim alanını kodunuza dahil etmelisiniz:
using System.Linq;
using System.Linq;
Imports System.Linq
İşte bir liste üzerinde LINQ sorgularının bazı örnekleri:
Bir listeyi filtreleme
List<int> evenNumbers = numbers.Where(x => x % 2 == 0).ToList();
List<int> evenNumbers = numbers.Where(x => x % 2 == 0).ToList();
Dim evenNumbers As List(Of Integer) = numbers.Where(Function(x) x Mod 2 = 0).ToList()
Bir Listedeki Öğeleri Dönüştürme (mapleme)
List<string> fruitNamesUpperCase = fruits.Select(x => x.ToUpper()).ToList();
List<string> fruitNamesUpperCase = fruits.Select(x => x.ToUpper()).ToList();
Dim fruitNamesUpperCase As List(Of String) = fruits.Select(Function(x) x.ToUpper()).ToList()
Bir Listede Minimum ve Maksimum Değerleri Bulma
int minValue = numbers.Min();
int maxValue = numbers.Max();
int minValue = numbers.Min();
int maxValue = numbers.Max();
Dim minValue As Integer = numbers.Min()
Dim maxValue As Integer = numbers.Max()
Bir Listeyi Diziye Dönüştürme
Bir listeyi bir diziye dönüştürmek için ToArray metodunu kullanabilirsiniz:
int[] numbersArray = numbers.ToArray();
int[] numbersArray = numbers.ToArray();
Dim numbersArray() As Integer = numbers.ToArray()
IronPDF kullanarak List Veri Gönderimi
Bu bölümde, bir liste verisini IronPDF kütüphanesi kullanarak bir PDF dosyasına nasıl aktaracağımızı göstereceğiz. Bu, rapor oluşturmak veya verilerinizin yazdırılabilir bir versiyonunu üretmek istediğinizde faydalı olabilir.
Öncelikle, IronPDF NuGet paketini projenize indirip yükleyin:
Install-Package IronPdf
Sonra, kodunuza IronPdf isim alanını dahil edin:
using IronPdf;
using IronPdf;
Imports IronPdf
Şimdi, bir dizgi List'sini bir HTML tablosuna dönüştüren ve sonra bunu bir PDF dosyasına aktaran basit bir fonksiyon yaratalım:
using System.Collections.Generic;
using System.Text;
using IronPdf;
void ExportListToPdf(List<string> data, string pdfFilePath)
{
// Create an HTML table from the list data
StringBuilder htmlBuilder = new StringBuilder();
htmlBuilder.Append("<table><tr><th>Item</th></tr>");
foreach (string item in data)
{
htmlBuilder.Append($"<tr><td>{item}</td></tr>");
}
htmlBuilder.Append("</table>");
// Convert the HTML table to a PDF using IronPDF
var renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf(htmlBuilder.ToString());
// Save the PDF to the specified file path
pdf.SaveAs(pdfFilePath);
}
using System.Collections.Generic;
using System.Text;
using IronPdf;
void ExportListToPdf(List<string> data, string pdfFilePath)
{
// Create an HTML table from the list data
StringBuilder htmlBuilder = new StringBuilder();
htmlBuilder.Append("<table><tr><th>Item</th></tr>");
foreach (string item in data)
{
htmlBuilder.Append($"<tr><td>{item}</td></tr>");
}
htmlBuilder.Append("</table>");
// Convert the HTML table to a PDF using IronPDF
var renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf(htmlBuilder.ToString());
// Save the PDF to the specified file path
pdf.SaveAs(pdfFilePath);
}
Imports System.Collections.Generic
Imports System.Text
Imports IronPdf
Private Sub ExportListToPdf(ByVal data As List(Of String), ByVal pdfFilePath As String)
' Create an HTML table from the list data
Dim htmlBuilder As New StringBuilder()
htmlBuilder.Append("<table><tr><th>Item</th></tr>")
For Each item As String In data
htmlBuilder.Append($"<tr><td>{item}</td></tr>")
Next item
htmlBuilder.Append("</table>")
' Convert the HTML table to a PDF using IronPDF
Dim renderer = New ChromePdfRenderer()
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf(htmlBuilder.ToString())
' Save the PDF to the specified file path
pdf.SaveAs(pdfFilePath)
End Sub
Bu işlevi kullanmak için tek yapmanız gereken, listenizi ve istenen PDF dosya yolunu çağırmaktır:
List<string> fruits = new List<string> { "apple", "banana", "cherry" };
ExportListToPdf(fruits, "Fruits.pdf");
List<string> fruits = new List<string> { "apple", "banana", "cherry" };
ExportListToPdf(fruits, "Fruits.pdf");
Dim fruits As New List(Of String) From {"apple", "banana", "cherry"}
ExportListToPdf(fruits, "Fruits.pdf")
Bu, IronPDF ile HTML'i PDF'e dönüştürerek meyveler listesini içeren bir tabloyla "Fruits.pdf" adında bir PDF dosyası oluşturacaktır. HTML tablosuna özel stil eklemek veya PDF'ye ek içerik eklemek gibi ihtiyaçlarınıza uygun şekilde ExportListToPdf fonksiyonunu değiştirebilirsiniz.

Sonuç
Bu yeni başlayanlar için uygun eğitimde, C# Listelerini kullanmanın temellerini ele aldık ve List verilerini PDF dosyasına aktaracak şekilde IronPDF'i nasıl entegre edeceğimizi gösterdik. Projelerinize IronPDF'i dahil ederek raporlar, faturalar veya diğer yazdırılabilir belgeleri kolaylıkla C# projelerinizden oluşturabilirsiniz.
IronPDF, yeteneklerini satın almadan önce test etmenize olanak tanıyan bir ücretsiz deneme sunar.
Sıkça Sorulan Sorular
C#'ta bir Liste nasıl oluşturabilirim?
C#'ta bir Liste oluşturmak için System.Collections.Generic namespace'ini dahil etmeniz gerekmektedir. Ardından, köşeli parantezler içinde veri türünü belirterek bir Liste bildirebilirsiniz. Örneğin: List
C# Listesine eleman eklemek için hangi yöntemler kullanılır?
Bireysel eleman eklemek için Add() yöntemi ve bir koleksiyon eklemek için AddRange() yöntemi kullanılabilir.
Bir C# Listesini PDF dosyasına nasıl dışa aktarabilirim?
Bir C# Listesini PDF dosyasına dışa aktarmak için IronPDF kütüphanesini kullanabilirsiniz. Liste verilerinizi HTML tablo formatına dönüştürün ve ardından IronPDF ile bir PDF olarak işleyin.
Bir C# Listesini sıralamanın en iyi yolu nedir?
Bir C# Listesini artan sırayla Sort() yöntemi ile sıralayabilirsiniz. Azalan sıralama için, Sort() yöntemini özel bir karşılaştırma delegesi ile kullanabilirsiniz.
C# Listesindeki elemanlara nasıl erişirsiniz?
C# Listesindeki elemanlara diziler gibi indeksleri kullanarak erişebilirsiniz. Listeler sıfırdan başlayan indise sahiptir, dolayısıyla bir elemanın konumunu kullanarak ona erişebilirsiniz.
C# Listesinden elemanları çıkarmak için hangi seçenekler mevcuttur?
Belirli elemanlar için Remove() yöntemi, belirli bir indeks için RemoveAt() ve tüm elemanları çıkarmak için Clear() yöntemlerini kullanabilirsiniz.
LINQ, C# Listeleri ile nasıl kullanılabilir?
LINQ, filtreleme, haritalama ve minimum veya maksimum değerleri etkili bir şekilde bulma gibi güçlü sorgular ve dönüşümler yapmak için C# Listeleri ile kullanılabilir.
Bir Listeyi C#'ta bir diziye nasıl dönüştürebilirim?
Bir C# Listesini, elemanlarını içeren yeni bir dizi oluşturan ToArray() yöntemi ile bir diziye dönüştürebilirsiniz.
C# Listeleri için bazı yaygın kullanım durumları nelerdir?
C# Listeleri genellikle dinamik veri koleksiyonlarını yönetmek, LINQ ile karmaşık sorgular yapmak ve IronPDF gibi kütüphaneler kullanarak raporlar veya belgeler oluşturmak için kullanılır.
C# Listesinde elemanlar üzerinde nasıl iterasyon yapılır?
C# Listesindeki elemanlar üzerinde basit bir yineleme için foreach döngüleri veya indekse ihtiyaç duyduğunuzda for döngüleri kullanabilirsiniz.




