Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu giriş niteliğindeki öğretici, C# diline ve sınıfın temel bilgilerine giriş sağlar.
Bu öğreticide C# kodunu yazmak ve kodunuzu derlemenin ve çalıştırmanın sonuçlarını görmek için tarayıcınızı kullanarak C# dilini etkileşimli olarak kullanmayı öğretir. Koleksiyonları ve dizileri oluşturan, değiştiren ve keşfeden bir dizi ders içerir. Asıl olarak List<T> sınıfı ile çalışırsınız.
Temel liste örneği
İpucu
Kod parçacığı bloğu "Çalıştır" düğmesini içerdiğinde, bu düğme etkileşimli pencereyi açar veya etkileşimli penceredeki mevcut kodun yerini alır. Kod parçacığında "Çalıştır" düğmesi olmadığında kodu kopyalayıp geçerli etkileşimli pencereye ekleyebilirsiniz.
Etkileşimli pencerede aşağıdaki kodu çalıştırın.
<name>'yi adınızla değiştirin ve Çalıştır seçeneğini seçin.
List<string> names = ["<name>", "Ana", "Felipe"];
foreach (var name in names)
{
Console.WriteLine($"Hello {name.ToUpper()}!");
}
Bir dize listesi oluşturdunuz, bu listeye üç ad eklediniz ve adları tüm CAPS'lere yazdırmıştınız. Listede döngü yapmak için önceki öğreticilerde öğrendiğiniz kavramları kullanıyorsunuz.
Adların görüntüleneceği kod , dize ilişkilendirme özelliğini kullanır.
string karakterini $ karakterinin önüne eklediğinizde, dize bildirimine C# kodu yerleştirebilirsiniz. Gerçek dize, C# kodunu oluşturduğu değerle değiştirir. Bu örnekte, yöntemini çağırdığınız {name.ToUpper()} için öğesini büyük harflere dönüştürülen her adla değiştirirString.ToUpper.
Keşfetmeye devam edelim.
Liste içeriğini değiştirme
Oluşturduğunuz koleksiyon türünü List<T> kullanır. Bu tür, öğe dizilerini depolar. Köşeli ayraçlar arasındaki öğelerin türünü belirtirsiniz.
Bu List<T> türün önemli özelliklerinden biri, öğelerin eklenmesini veya kaldırılmasını sağlayarak büyüyebilmesi veya küçülebilmesidir. İçeriğini görüntüledikten sonra içeriği değiştirerek sonuçları görebilirsiniz. Daha önce yazdığınız kodun (içeriği yazdıran döngü) arkasına aşağıdaki kodu ekleyin:
Console.WriteLine();
names.Add("Maria");
names.Add("Bill");
names.Remove("Ana");
foreach (var name in names)
{
Console.WriteLine($"Hello {name.ToUpper()}!");
}
Listenin sonuna iki ad daha eklediniz. Ayrıca bir tane de kaldırdınız. Bu kod bloğunun çıkışında ilk içerik gösterilir, ardından boş bir satır ve yeni içerik yazdırılır.
, List<T> tek tek öğelere dizine göre de başvurmanızı sağlar. ve [ belirteçlerini kullanarak öğelere ] erişebilirsiniz. Yazdığınız kodun arkasına aşağıdaki kodu ekleyin ve deneyin:
Console.WriteLine($"My name is {names[0]}.");
Console.WriteLine($"I've added {names[2]} and {names[3]} to the list.");
Listenin sonundan sonra erişmenize izin verilmiyor. Listenin ne kadar uzun olduğunu Count özelliğiyle kontrol edebilirsiniz. Aşağıdaki kodu ekleyin:
Console.WriteLine($"The list has {names.Count} people in it");
Sonuçları görmek için yeniden çalıştır'ı seçin. C# dilinde dizinler 0'dan başlar, bu nedenle en büyük geçerli dizin listedeki öğe sayısından bir küçüktür.
Dizinler hakkında daha fazla bilgi için Dizinleri ve aralıkları keşfetme makalesine bakın.
Liste arama ve sıralama
Örneklerimiz görece küçük listeler kullanıyor, ancak uygulamalarınız genellikle çok daha fazla öğe içeren listeler oluşturabilir ve bazen binleri de sayabilir. Bu büyük koleksiyonlardaki öğeleri bulmak için listede farklı öğeler aramanız gerekir.
IndexOf yöntemi bir öğeyi arar ve öğenin dizinini döndürür. Öğe listede değilse, IndexOf döndürür -1. Nasıl çalıştığını görmek için deneyin. Şu ana kadar yazdıkların ardından aşağıdaki kodu ekleyin:
var index = names.IndexOf("Felipe");
if (index == -1)
{
Console.WriteLine($"When an item is not found, IndexOf returns {index}");
}
else
{
Console.WriteLine($"The name {names[index]} is at index {index}");
}
index = names.IndexOf("Not Found");
if (index == -1)
{
Console.WriteLine($"When an item is not found, IndexOf returns {index}");
}
else
{
Console.WriteLine($"The name {names[index]} is at index {index}");
}
Listede bir öğe olup olmadığını bilmiyor olabilirsiniz, bu nedenle tarafından IndexOfdöndürülen dizini her zaman denetlemeniz gerekir. Eğer -1 ise, öğe bulunamadı.
Listenizdeki öğeler de sıralanabilir. yöntemi listedeki Sort tüm öğeleri normal düzenlerinde sıralar (dizeler için alfabetik olarak). Bu kodu ekleyin ve yeniden çalıştırın:
names.Sort();
foreach (var name in names)
{
Console.WriteLine($"Hello {name.ToUpper()}!");
}
Diğer tür listeleri
Şu ana kadar listelerde string türünü kullanıyordunuz. Şimdi farklı bir tür kullanarak bir List<T> oluşturalım. Şimdi bir sayı kümesi oluşturalım. Şimdiye kadar yazdığınız kodu silin ve aşağıdaki kodla değiştirin:
List<int> fibonacciNumbers = [1, 1];
Bu, bir tamsayı listesi oluşturur ve ilk iki tamsayıyı 1 değerine ayarlar. Bir sayı dizisi olan Fibonacci Dizisi iki 1 ile başlar. Sonraki her Fibonacci sayısı, önceki iki sayının toplamı alınarak bulunur. Bu kodu ekleyin:
var previous = fibonacciNumbers[fibonacciNumbers.Count - 1];
var previous2 = fibonacciNumbers[fibonacciNumbers.Count - 2];
fibonacciNumbers.Add(previous + previous2);
foreach (var item in fibonacciNumbers)
{
Console.WriteLine(item);
}
Sonuçları görmek için Çalıştır'a basın.
Meydan okuma
Bu ve önceki derslerden bazı kavramları bir araya getirip birleştiremediğiniz konusuna bakın. Fibonacci Numbers ile şimdiye kadar derlediğiniz şeyi genişletin. Dizideki ilk 20 sayıyı oluşturmak için kodu yazmayı deneyin. (İpucu olarak, 20. Fibonacci sayısı 6765'tir.)
Böyle bir şey mi buldun?
List<int> fibonacciNumbers = [1, 1];
while (fibonacciNumbers.Count < 20)
{
var previous = fibonacciNumbers[fibonacciNumbers.Count - 1];
var previous2 = fibonacciNumbers[fibonacciNumbers.Count - 2];
fibonacciNumbers.Add(previous + previous2);
}
foreach (var item in fibonacciNumbers)
{
Console.WriteLine(item);
}
Döngünün her yinelemesinde listedeki son iki tamsayıyı alır, bunları toplar ve bu değeri listeye eklersiniz. Döngü, listeye 20 öğe ekleyene kadar yineleniyor.
C# etkileşimli öğreticisine son giriş olan etkileşimli liste öğreticisini tamamladınız. .NET SDK'sını indirmek, makinenizde bir proje oluşturmak ve kodlamaya devam etmek için .NET sitesini ziyaret edebilirsiniz. "Sonraki adımlar" bölümü sizi bu öğreticilere geri getirir. Alternatif olarak, Sınıflar ve nesnelerle nesne odaklı programlamayı keşfetme öğreticisiyle devam edebilirsiniz.
.NET koleksiyonları hakkında daha fazla bilgiyi aşağıdaki makalelerde bulabilirsiniz: