Diziler (C# Programlama Kılavuzu)

Aynı türde birden çok değişkeni bir dizi veri yapısına saklayabilirsiniz. Öğelerinin türünü belirterek bir dizi bildirirsiniz. Dizinin herhangi bir türdeki öğeleri depolamasını istiyorsanız, object türü olarak belirtebilirsiniz. C# Birleşik tür sisteminde, tüm türler, önceden tanımlanmış ve Kullanıcı tanımlı, başvuru türleri ve değer türleri, doğrudan veya dolaylı olarak öğesinden devralınır Object .

type[] arrayName;

Örnek

Aşağıdaki örnek, tek boyutlu, çok boyutlu ve pürüzlü Diziler oluşturur:

class TestArraysClass
{
    static void Main()
    {
        // Declare a single-dimensional array of 5 integers.
        int[] array1 = new int[5];

        // Declare and set array element values.
        int[] array2 = new int[] { 1, 3, 5, 7, 9 };

        // Alternative syntax.
        int[] array3 = { 1, 2, 3, 4, 5, 6 };

        // Declare a two dimensional array.
        int[,] multiDimensionalArray1 = new int[2, 3];

        // Declare and set array element values.
        int[,] multiDimensionalArray2 = { { 1, 2, 3 }, { 4, 5, 6 } };

        // Declare a jagged array.
        int[][] jaggedArray = new int[6][];

        // Set the values of the first array in the jagged array structure.
        jaggedArray[0] = new int[4] { 1, 2, 3, 4 };
    }
}

Diziye genel bakış

Bir dizi aşağıdaki özelliklere sahiptir:

  • Bir dizi tek boyutlu, çok boyutlu veya pürüzlüolabilir.
  • Boyut sayısı ve her boyutun uzunluğu, dizi örneği oluşturulduğunda oluşturulur. Bu değerler, örneğin kullanım ömrü boyunca değiştirilemez.
  • Sayısal dizi öğelerinin varsayılan değerleri sıfır olarak ayarlanır ve başvuru öğeleri olarak ayarlanır null .
  • Sivri dizi dizi dizilerdir ve bu nedenle öğeleri başvuru türleridir ve olarak başlatılır null .
  • Diziler sıfır dizinli: öğeleri olan bir dizi ' dan ' a n dizinlenir 0 n-1 .
  • Dizi öğeleri, bir dizi türü de dahil olmak üzere herhangi bir türde olabilir.
  • Dizi türleri, soyut temel türden türetilmiş başvuru türleridir Array . Tüm diziler IList ve uygular IEnumerable . Bir dizi boyunca yinelemek için foreach ifadesini kullanabilirsiniz. Tek boyutlu diziler de ve uygular IList<T> IEnumerable<T> .

Varsayılan değer davranışı

  • Değer türlerinde, dizi öğeleri varsayılan değerolan 0 bit düzeniyle başlatılır; öğelerin değeri olacaktır 0 .
  • Tüm başvuru türleri ( Nullable) dahil olmak üzere, değerleri vardır null .
  • Nullable değer türleri için, HasValue olarak ayarlanır false ve öğeleri olarak ayarlanır null .

Nesne Olarak Diziler

C# ' de, diziler aslında nesneler ve yalnızca C ve C++ ' da olduğu gibi bitişik belleğin adreslenebilir bölgelerini değildir. Array tüm dizi türlerinin soyut temel türüdür. Özellikleri ve olan diğer sınıf üyelerini kullanabilirsiniz Array . Bunun bir örneği, Length bir dizinin uzunluğunu almak için özelliğini kullanmaktır. Aşağıdaki kod, dizi uzunluğunu, numbers yani 5 adlı bir değişkene atar lengthOfNumbers :

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

ArraySınıfı, dizileri sıralamak, aramak ve kopyalamak için diğer birçok yararlı yöntem ve özellik sağlar. Aşağıdaki örnek, Rank bir dizinin boyut sayısını göstermek için özelliğini kullanır.

class TestArraysClass
{
    static void Main()
    {
        // Declare and initialize an array.
        int[,] theArray = new int[5, 10];
        System.Console.WriteLine("The array has {0} dimensions.", theArray.Rank);
    }
}
// Output: The array has 2 dimensions.

Ayrıca bkz.

Daha fazla bilgi edinmek için, bkz. C# Dil Belirtimi. Dil belirtimi, C# sözdizimi ve kullanımı için kesin bir kaynaktır.