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 eğitim, C# diline ve System.Collections.Generic.List<T> sınıfının temellerine giriş sağlar.
Bu öğretici size C# öğretir. C# kodu yazar ve bu kodu derlemenin ve çalıştırmanın sonuçlarını görürsünüz. Koleksiyonları 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.
Bu eğitimde, siz:
- C# geliştirme ortamıyla GitHub Codespace başlatın.
- Farklı liste türleri oluşturun.
- Liste içeriğini değiştirin.
- Listeleri arayın ve sıralayın.
Önkoşullar
Aşağıdakilerden birine sahip olmanız gerekir:
- GitHub Codespaces'ı kullanmak için bir GitHub hesabı. Henüz bir hesabınız yoksa GitHub.com'de ücretsiz bir hesap oluşturabilirsiniz.
- Aşağıdaki araçların yüklü olduğu bir bilgisayar:
Temel liste örneği
Öğretici ortamıyla bir GitHub Codespace başlatmak için , öğretici kod alanı deposuna bir tarayıcı penceresi açın. Yeşil Kod düğmesini ve Codespaces sekmesini seçin. Ardından bu ortamı kullanarak yeni bir Codespace oluşturmak için işareti seçin + . Bu serideki diğer öğreticileri tamamladıysanız, yeni bir tane oluşturmak yerine bu kod alanının açılmasını sağlayabilirsiniz.
Codespace'ınız yüklendiğinde, öğreticiler klasöründe lists.cs adlı yeni bir dosya oluşturun.
Yeni dosyanızı açın.
Aşağıdaki kodu lists.cs yazın veya kopyalayın:
List<string> names = ["<name>", "Ana", "Felipe"]; foreach (var name in names) { Console.WriteLine($"Hello {name.ToUpper()}!"); }Terminal penceresine aşağıdaki komutu yazarak kodu çalıştırın:
cd tutorials dotnet lists.cs
Bir dize listesi oluşturdunuz, bu listeye üç ad eklediniz ve adları tüm büyük harflerle 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. Count özelliğini kullanarak listenin uzunluğunu kontrol edebilirsiniz.
Aşağıdaki kodu ekleyin:
Console.WriteLine($"The list has {names.Count} people in it");Sonuçları görmek için terminal penceresine yeniden yazın
dotnet lists.cs. 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
-1ise, öğe bulunamadı.Listenizdeki öğeleri de sıralayabilirsiniz. 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ü kullandınız. Şimdi farklı bir tür kullanarak bir List<T> oluşturalım. Şimdi bir sayı kümesi oluşturalım.
Kaynak dosyanızın sonuna aşağıdaki kodu ekleyin:
List<int> fibonacciNumbers = [1, 1];Bu kod 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 terminal penceresine yazın
dotnet lists.cs.
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ü, siz listeye 20 öğe ekleyene kadar yineler.
Liste eğitimini tamamladınız. .NET koleksiyonları hakkında daha fazla bilgiyi aşağıdaki makalelerde bulabilirsiniz:
Kaynakları temizleme
GitHub, 30 günlük etkinlik dışı kalma süresinden sonra Codespace'inizi otomatik olarak siler. Bu serideki diğer öğreticileri keşfetmeyi planlıyorsanız, Codespace'inizi (kod çalışma alanı) hazır durumda bırakabilirsiniz. .NET SDK'sını indirmek için .NET sitesini ziyaret etmeye hazırsanız Codespace'ınızı silebilirsiniz. Codespace'ınızı silmek için bir tarayıcı penceresi açın ve Codespaces'inize gidin. Pencerede kod boşluklarınızın listesini görmeniz gerekir. Learn eğitim kod alanının girişindeki üç noktayı (...) seçin ve sil seçin.