Koleksiyon İfadesi Söz Dizimi
Dizileri, listeleri ve span'leri aynı biçimde başlatın.
Koleksiyon İfadesi Söz Dizimi, CoddyKit'te ücretsiz bir C# Academy dersidir. Bu, 4 dersinin 1. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, C# Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. C# Academy kursu toplamda 4 dersten oluşur.
Koleksiyon İfadeleri (C# 12)
C# 12, koleksiyon ifadelerini sunar: diziler, listeler, span türleri ve daha fazlasını oluşturmak için kullanılan tek bir köşeli parantez sözdizimi. new int[] { 1, 2, 3 } yerine yalnızca [1, 2, 3] yazmanız yeterlidir.
using System;
int[] numbers = [1, 2, 3, 4, 5];
Console.WriteLine(string.Join(",", numbers)); // 1,2,3,4,5Tek Sözdizimi, Birçok Hedef
Aynı [...] değişmezi, hedef bir dizi, List<T> veya Span<T> olduğunda çalışır. Derleyici doğru oluşturma biçimini seçer.
using System;
using System.Collections.Generic;
int[] arr = [1, 2, 3];
List<int> list = [4, 5, 6];
Span<int> span = [7, 8, 9];
Console.WriteLine(arr.Length + " " + list.Count + " " + span.Length);Boş Koleksiyonlar
Boş bir koleksiyon ifadesi yalnızca [] biçimindedir. Bu, Array.Empty<T>() veya new List<T>() kullanmaktan daha anlaşılırdır ve hedef türü otomatik olarak belirler.
using System;
using System.Collections.Generic;
int[] empty = [];
List<string> names = [];
Console.WriteLine(empty.Length + " " + names.Count); // 0 0Uzun Başlatıcıları Değiştirme
Koleksiyon ifadeleri, eski başlatıcı söz diziminin gerektirdiği ayrıntıları ortadan kaldırır. Aşağıdaki iki biçimi karşılaştırın.
using System;
using System.Collections.Generic;
// old
List<int> oldWay = new List<int> { 1, 2, 3 };
// new
List<int> newWay = [1, 2, 3];
Console.WriteLine(oldWay.Count == newWay.Count); // Trueİç İçe Koleksiyonlar
Düzensiz diziler veya listelerden oluşan listeler oluşturmak için koleksiyon ifadelerini iç içe kullanabilirsiniz.
using System;
int[][] grid = [[1, 2], [3, 4], [5, 6]];
Console.WriteLine(grid[1][0]); // 3Öğe Olarak İfadeler
Değişkenler, yöntem çağrıları ve aritmetik işlemler de dahil olmak üzere her ifade öğe olabilir.
using System;
int x = 10;
int[] values = [x, x * 2, x + 5, Math.Abs(-3)];
Console.WriteLine(string.Join(",", values)); // 10,20,15,3Çok Boyutluluk Hakkında Not
Koleksiyon ifadeleri dikdörtgen diziler (int[,]) değil, düzensiz diziler (int[][]) oluşturur. Dikdörtgen diziler hâlâ kendi söz dizimlerini kullanır.
using System;
int[][] jagged = [[1, 2, 3], [4, 5]];
Console.WriteLine(jagged[0].Length + " " + jagged[1].Length); // 3 2Aralıklarla Çalışma
Koleksiyon ifadeleri Span<T> ve ReadOnlySpan<T> hedeflerini kullanabildiğinden derleyici yığın üzerinde ayırma yapabilir ve kısa ömürlü veriler için öbekte gereksiz çöp oluşmasını önleyebilir.
using System;
ReadOnlySpan<int> stackData = [1, 2, 3, 4];
int total = 0;
foreach (int n in stackData) total += n;
Console.WriteLine(total); // 10Koleksiyonları Yöntemlere Geçirme
Bir parametrenin türü koleksiyon olduğunda, çağrı noktasında doğrudan bir koleksiyon ifadesi geçirebilirsiniz.
using System;
static int Sum(int[] xs) {
int t = 0;
foreach (int x in xs) t += x;
return t;
}
Console.WriteLine(Sum([2, 4, 6])); // 12Okunabilirlik Kazanımı
Koleksiyon ifadeleri, yapılandırma tabloları veya sınama düzenekleri gibi veri ağırlıklı kodlarda özellikle etkilidir; köşeli ayraçlar odağı değerlerde tutar.
using System;
string[] days = ["Mon", "Tue", "Wed", "Thu", "Fri"];
Console.WriteLine(days[^1]); // FriKoleksiyon Döndürme
Bir yöntem, oluşturma işlemini yönlendiren dönüş türüyle birlikte bir koleksiyon ifadesi döndürebilir.
using System;
static int[] Primes() => [2, 3, 5, 7, 11];
Console.WriteLine(string.Join(",", Primes())); // 2,3,5,7,11Hızlı Sınama
Koleksiyon ifadesi temellerini anlayıp anlamadığınızı sınayın.
Özet
C# 12 koleksiyon ifadesi söz dizimini öğrendiniz.
[1, 2, 3], uzun başlatıcıların yerini alır.[], boş bir koleksiyondur.- Hedef türüyle belirlenir; diziler, listeler ve aralıklar için kullanılabilir.
- İç içe köşeli ayraçlar düzensiz diziler oluşturur.
Sıkça Sorulan Sorular
“Koleksiyon İfadesi Söz Dizimi” dersi ücretsiz mi?
Evet — “Koleksiyon İfadesi Söz Dizimi” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve C# Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. C# Academy kursu toplamda 4 dersten oluşur.
“Koleksiyon İfadesi Söz Dizimi” dersinde ne öğreneceğim?
Dizileri, listeleri ve span'leri aynı biçimde başlatın. C# Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
C# Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te C# Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 1. dersidir.
“Koleksiyon İfadesi Söz Dizimi” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu C# Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her C# Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Koleksiyon İfadesi Söz Dizimi
- Yayma Öğesi
- Koleksiyonlarda Hedef Türü Belirleme
- Koleksiyon Oluşturucuları