C# Fundamentals

C# Dizi Uzunluğunu Etkin Bir Şekilde Belirleme

Spread the love

Diziler, C#’ta aynı türden elemanların koleksiyonlarını verimli bir şekilde saklayan temel veri yapılarıdır. Bir dizinin boyutunun nasıl belirlendiğini anlamak, elemanlar arasında yinelemekten dizinin boyutlarına bağlı hesaplamalar yapmak gibi çeşitli programlama görevleri için çok önemlidir.

İçindekiler

Tek Boyutlu Dizilerin Uzunluğunu Alma

Tek boyutlu bir dizinin uzunluğunu belirlemenin en kolay yolu, Length özelliğini kullanmaktır. Bu özellik, dizideki toplam eleman sayısını doğrudan döndürür.


int[] numbers = { 1, 2, 3, 4, 5 };
int arrayLength = numbers.Length; // arrayLength 5 olacak

Console.WriteLine($"Dizinin uzunluğu: {arrayLength}");

Bu yöntem, basitliği ve hızı nedeniyle tek boyutlu diziler için verimli ve oldukça önerilir.

Çok Boyutlu Dizilerle Çalışma

Çok boyutlu diziler için Length özelliği yine de toplam eleman sayısını sağlar. Ancak, boyutların uzunluklarını ayrı ayrı gerekiyorsa, GetLength() yöntemini kullanmalısınız. Bu yöntem, boyut indeksini (0’dan başlayarak) temsil eden bir tamsayı alır ve o boyutun uzunluğunu döndürür.


int[,] matrix = { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } };

int rows = matrix.GetLength(0); // rows 3 olacak
int cols = matrix.GetLength(1); // cols 3 olacak

Console.WriteLine($"Matris {rows} satır ve {cols} sütundan oluşmaktadır.");
Console.WriteLine($"Toplam eleman sayısı: {matrix.Length}"); // matrix.Length 9 olacak

GetLength(), çok boyutlu dizileri eleman eleman işlerken veya belirli boyut bilgilerine ihtiyaç duyulduğunda çok önemlidir.

Eleman Sayımı İçin LINQ Kullanma (ve Daha Fazlası)

Sadece toplam sayıyı almak için Length özelliğinden daha az verimli olsa da, LINQ’un Count() yöntemi daha fazla esneklik sunar. Belirli koşullara bağlı olarak eleman sayımına olanak tanır.


int[] numbers = { 1, 2, 3, 4, 5 };
int arrayLength = numbers.Count(); // arrayLength 5 olacak

Console.WriteLine($"Dizinin uzunluğu: {arrayLength}");

// Çift sayıları sayma:
int evenCount = numbers.Count(n => n % 2 == 0); // evenCount 2 olacak

Bu yaklaşım, belirli kriterleri karşılayan elemanları saymanız gerektiğinde öne çıkar ve bunu basit uzunluk belirlemenin ötesinde değerli bir araç haline getirir.

En İyi Uygulamalar ve Göz Önünde Bulundurulması Gerekenler

  • IndexOutOfRangeException: IndexOutOfRangeException hatalarından kaçınmak için dizin indeksinizin geçerli aralıkta (0 ila Length - 1) olduğundan emin olun.
  • Sabit Boyut: C#’taki dizilerin oluşturulduktan sonra sabit bir boyutu vardır. Dinamik boyutlu koleksiyonlar için List<T> kullanın.
  • Length ve GetLength: Hem tek hem de çok boyutlu dizilerde toplam eleman sayısı için Length kullanın. Çok boyutlu dizilerde ayrı boyut uzunlukları için GetLength() kullanın.

Doğru yöntemi seçmek, dizi türünüze ve belirli ihtiyaçlarınıza bağlıdır. Tek boyutlu diziler için Length en verimli ve önerilen yöntemdir. Çok boyutlu diziler için toplam sayı için Length ve ayrı boyut boyutları için GetLength() kullanın. LINQ’un Count() yöntemi koşullu sayım için esneklik sağlar.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir