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, türü olarak belirtebilirsiniz object . 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 Object devralınır.

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 null ayarlanır.
  • Sivri dizi dizi dizilerdir ve bu nedenle öğeleri başvuru türleridir ve olarak null başlatılır.
  • Diziler sıfır dizinli: öğeleri olan n bir dizi ' dan 0n-1 ' a dizinlenir.
  • 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 . Tüm diziler ve IEnumerable uygular IList . Bir dizi boyunca yinelemek için foreach ifadesini kullanabilirsiniz. Tek boyutlu diziler de ve IEnumerable<T> uygular IList<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.
  • Tüm başvuru türleri ( Nullable) dahil olmak üzere, değerleri vardır.
  • Nullable değer türleri için, HasValue olarak false ayarlanır ve öğeleri olarak null ayarlanır.

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 Array diğer sınıf üyelerini kullanabilirsiniz. Bunun bir örneği, bir dizinin uzunluğunu almak için özelliğini kullanmaktır Length . Aşağıdaki kod, dizi uzunluğunu numbers , yani 5 adlı lengthOfNumbers bir değişkene atar:

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, bir dizinin boyut sayısını göstermek için özelliğini kullanır Rank .

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.