C# Listesi (Geliştiriciler İçin Nasıl Çalışır)
Listeler, C#'ta veri koleksiyonlarını depolamak ve manipüle etmek için kullanılan çok yönlü ve dinamik veri yapılarıdır. Onlar, güçlü, tür güvenli koleksiyon sınıfları ve güçlü türde nesneler sağlayan System.Collections.Generic ad alanının bir parçasıdır. Bu başlangıç dostu öğretici, C# Listelerini kullanmanın temellerini, elemanları nasıl oluşturacağınızı/ekleyeceğinizi, belirli dizinlere veya ilk rastlananlara nasıl erişeceğinizi, belirli elemanları nasıl modifiye edeceğinizi ve elemanları nasıl kaldıracağınızı kapsayacak, ayrıca bazı yaygın kullanım örnekleri sunacaktır.
Listeler Oluşturma
List sınıfını kullanmaya başlamak için ilk olarak kodunuza System.Collections.Generic ad alanını eklemeniz gerekir:
using System.Collections.Generic;
using System.Collections.Generic;
Imports System.Collections.Generic
Genel ad alanını ekledikten sonra, depolamak istediğiniz tüm öğelerin veri türünü açısal parantez içinde (< >) belirterek yeni bir List nesnesi oluşturun. İşte tam sayılar listesinin nasıl oluşturulacağına dair bir örnek:
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 listeyi başlatabilir veya belirtilen koleksiyonla bu şekilde 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 belirleyebilirsiniz. Belirtilen başlangıç kapasitesi, listenin varsayılan maksimum kapasitesidir.
Liste Metotları
Bir Listeye Eleman Sayısı Ekleme
Listenize öğeler eklemek için Add() yöntemini 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 öğeyi listeye eklemek için de AddRange yöntemini 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
Dizilerde olduğu gibi, bir indis 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"
Unutmayın ki listeler sıfır tabanlıdır, bu yüzden ilk elemanın indeksi 0'dır. Yukarıdaki örnek, eleman dizgide varsa, onu depolayacaktır.
Liste Elemanlarını Değiştirme
Bir listedeki elemanı değiştirmek için, sıfır tabanlı indeksi dikkate alarak istediğiniz indeksteki elemana yeni bir değer atayın:
fruits[1] = "blueberry";
fruits[1] = "blueberry";
fruits(1) = "blueberry"
Şimdi, meyve listesindeki ikinci eleman "mavi yemiş" olacaktır, "muz" yerine.
Listeden Elemanlar Kaldırma
Bir listeden bir öğeyi kaldırmak için, belirtilen öğenin ilk karşılaşmasını kaldıran Remove yöntemini kullanabilirsiniz:
fruits.Remove("apple");
fruits.Remove("apple");
fruits.Remove("apple")
Alternatif olarak, belirtilen indeksteki bir öğeyi kaldırmak için RemoveAt yöntemini kullanabilirsiniz:
fruits.RemoveAt(0);
fruits.RemoveAt(0);
fruits.RemoveAt(0)
Bir listeden tüm öğeleri kaldırmak için Clear yöntemini kullanın:
fruits.Clear();
fruits.Clear();
fruits.Clear()
Listede Eleman Bulma
Belirli bir öğenin listede bulunup bulunmadığını kontrol etmek için Contains() yöntemini kullanabilirsiniz:
bool containsApple = fruits.Contains("apple"); // true
bool containsApple = fruits.Contains("apple"); // true
Dim containsApple As Boolean = fruits.Contains("apple") ' true
Bir öğenin ilk karşılaşmasının indeksini bulmak için IndexOf yöntemini kullanın:
int appleIndex = fruits.IndexOf("apple"); // 0
int appleIndex = fruits.IndexOf("apple"); // 0
Dim appleIndex As Integer = fruits.IndexOf("apple") ' 0
Eğer öğe bulunamazsa, IndexOf -1 döndürür.
Listede Döngü Yapma
Listedeki öğeler arasında dolaşmak için foreach döngüsünü 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, listede bulunan öğe sayısını döndüren Count özelliği ile bir for döngüsünü 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
Listeyi Sıralama
Bir listeyi artan sırayla sıralamak için Sort yöntemini 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ırayla sıralamak için özel bir karşılaştırma ile Sort yöntemini 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 (Dil Entegre Sorgusu) kullanabilirsiniz. İkili arama algoritması sıralı listelerde çalışır.
Listelerle LINQ Kullanma
LINQ, listeler dahil koleksiyonlar üzerinde güçlü sorgular ve dönüşümler yapmanızı sağlar. LINQ kullanmak için önce kodunuza System.Linq ad alanını eklemeniz gerekir:
using System.Linq;
using System.Linq;
Imports System.Linq
Bir listedeki LINQ sorgularına bazı örnekler:
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()
Listede Elemanları 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 Listedeki 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 diziye dönüştürmek için ToArray yöntemini kullanabilirsiniz:
int[] numbersArray = numbers.ToArray();
int[] numbersArray = numbers.ToArray();
Dim numbersArray() As Integer = numbers.ToArray()
Veri Listesini IronPDF Kullanarak Bir PDF'e Aktarma
Bu bölümde, bir List'teki verileri IronPDF kütüphanesi kullanarak bir PDF dosyasına nasıl aktarabileceğinizi göstereceğiz. Bu, verilerinizin bir raporunu veya yazdırılabilir bir sürümünü oluşturmak istediğinizde faydalı olabilir.
Öncelikle, projenize IronPDF NuGet paketini indirip kurun:
Install-Package IronPdf
Sonraki adım olarak kodunuza IronPdf ad alanını ekleyin:
using IronPdf;
using IronPdf;
Imports IronPdf
Şimdi, bir dize List'sini HTML tablosuna çeviren ve ardından bir PDF dosyasına dışa aktaran basit bir fonksiyon oluşturalı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 fonksiyonu kullanmak için, yalnızca listenizi ve istediğiniz PDF dosya yolunu vererek çağırmanız yeterlidir:
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'yi PDF'ye dönüştürerek meyve listesini içeren bir tabloyu "Meyveler.pdf" adlı bir PDF dosyası oluşturacaktır. HTML tablosuna özel stil eklemek veya PDF'ye ek içerik eklemek gibi ihtiyaçlarınızı karşılayacak şekilde ExportListToPdf işlevini değiştirebilirsiniz.

Sonuç
Bu başlangıç dostu öğreticide, C# Listelerini kullanmanın temellerini ele aldık ve Liste verilerini bir PDF dosyasına aktarmak için IronPDF'yi nasıl entegre edeceğinizi gösterdik. Projelerinize IronPDF'yi dahil ederek C# projelerinizden kolayca raporlar, faturalar veya diğer yazdırılabilir belgeler üretebilirsiniz.
IronPDF ücretsiz bir deneme sürümü sunar, bu size satın almadan önce yeteneklerini test etme imkanı tanır.
Sıkça Sorulan Sorular
C#'da bir Listeyi nasıl oluşturabilirim?
C#'da bir Liste oluşturmak için System.Collections.Generic namespace'ini dahil etmeniz gerekir. Daha sonra veri türünü köşe ayraçları içinde belirterek bir Liste tanımlayabilirsiniz. Örneğin: List
Bir C# Listesine eleman eklemek için kullanılan yöntemler nelerdir?
Elemanlar, tek tek elemanlar için Add() yöntemi kullanılarak ve bir eleman koleksiyonu eklemek için AddRange() kullanılarak bir C# Listesine eklenebilir.
Bir C# Listesini bir PDF dosya olarak nasıl dışa aktarabilirim?
Bir C# Listesini bir PDF dosya olarak dışa aktarmak için IronPDF kütüphanesini kullanabilirsiniz. Liste verinizi HTML tablo formatına dönüştürün ve ardından IronPDF kullanarak bir PDF olarak render edin.
Bir C# Listesini sıralamanın en iyi yolu nedir?
Bir C# Listesini artan sırada sıralamak için Sort() yöntemini kullanabilirsiniz. Azalan sırada sıralamak için Sort() ile özel bir karşılaştırma temsilcisi kullanabilirsiniz.
Bir C# Listesi içindeki elemanlar nasıl erişilir?
Bir C# Listesi içindeki elemanlar, dizilerde olduğu gibi indekslerini kullanarak erişilebilir. Listeler sıfır tabanlı indekslidir, bu nedenle bir elemanın Listede ki konumunu kullanarak ona erişebilirsiniz.
Bir C# Listesinden elemanları çıkarmak için hangi seçenekler mevcuttur?
Belirli elemanlar için Remove() yöntemi, belirli bir indeks için RemoveAt() veya tüm elemanları çıkarmak için Clear() kullanarak bir C# Listesinden elemanları çıkarabilirsiniz.
C# Listeleriyle LINQ nasıl kullanılır?
LINQ, filtreleme, eşleme ve minimum veya maksimum değerleri etkin bir şekilde bulma gibi güçlü sorgular ve dönüştürme işlemlerini gerçekleştirmek için C# Listeleri ile kullanılabilir.
Bir List'yi C#'da diziye nasıl dönüştürebilirim?
Bir List'yi C#'da bir diziye dönüştürmek için, listenin elemanlarını içeren yeni bir dizi oluşturacak olan ToArray() yöntemini kullanabilirsiniz.
C# Listeleri için bazı yaygın kullanım durumları nelerdir?
C# Listeleri dinamik veri koleksiyonlarının yönetimi, LINQ ile karmaşık sorgular gerçekleştirme ve IronPDF gibi kütüphaneleri kullanarak raporlar veya belgeler oluşturma için yaygın olarak kullanılır.
C# Listeleri üzerinde elemanlar arasında nasıl döngü yapılır?
Basit yineleme için foreach döngülerini veya indeksi gerektiğinde for döngülerini kullanarak bir C# Listesi üzerinde elemanlar arasında döngü yapabilirsiniz.




