type[] arrayName;
Aşağıdaki örnekler tek boyutlu, çok boyutlu ve düzensiz diziler oluşturur:
class TestArraysClass { static void Main() { // Declare a single-dimensional array 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 }; } }
Dizilere Genel Bakış
Bir dizi aşağıdaki özelliklere sahiptir:
Boyutların sayısı ve her boyutun uzunluğu, dizi örneği yaratılırken oluşturulur. Bu değerler örneğin kullanım süresi boyunca değiştirilemez.- Sayısal dizi öğelerinin varsayılan değerleri sıfır ve başvuru öğeleri null olarak ayarlanır.
- Düzensiz dizi, dizilerden oluşan bir dizidir ve bu nedenle öğeleri başvuru türleridir ve null olarak başlatılır.
- Diziler sıfır dizinlidir: n öğe içeren bir dizi, 0 ila n-1 arasında dizinlenir.
- Dizi öğeleri, dizi türü de dahil olmak üzere, herhangi bir türde olabilir.
Dizi türleri, Array soyut temel türünden türetilmiş başvuru türleridir. Bu tür IEnumerable ve IEnumerable<T> uyguladığından foreach yinelemesini C# içindeki dizilerde kullanabilirsiniz.- Bir dizi; Tek Boyutlu, Çok Boyutlu veya Düzensiz olabilir.
1-Tek Boyutlu Diziler
ir tek boyutlu dizisi aşağıdaki örnekte gösterildiği gibi beş bildirebilirsiniz:
int[] array = new int[5];
string[] stringArray = new string[6];
int[] array1 = new int[] { 1, 3, 5, 7, 9 };
string[] weekDays = { "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" };
Bildirim üzerine bir diziyi başlatmak olduğunda aşağıdaki kısayolları kullanabilirsiniz:
int[] array2 = { 1, 3, 5, 7, 9 }; string[] weekDays2 = { "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" };
int[] array3; array3 = new int[] { 1, 3, 5, 7, 9 }; // OK //array3 = {1, 3, 5, 7, 9}; // Error
Değer Türü ve Başvuru Türü Diziler
Dizi strFormAdı göz önünde bulundurun:
SomeType[] array4 = new SomeType[10];
2-Çok Boyutlu Diziler
int[,] array = new int[4, 2];
Aşağıdaki üç dizisi oluşturur boyutlarını, 4, 2 ve 3.
int[, ,] array1 = new int[4, 2, 3];
Dizi bildirimi üzerine, aşağıdaki örnekte gösterildiği gibi baþlatabilirsiniz.
// Two-dimensional array. int[,] array2D = new int[,] { { 1, 2 }, { 3, 4 }, { 5, 6 }, { 7, 8 } }; // The same array with dimensions specified. int[,] array2Da = new int[4, 2] { { 1, 2 }, { 3, 4 }, { 5, 6 }, { 7, 8 } }; // A similar array with string elements. string[,] array2Db = new string[3, 2] { { "one", "two" }, { "three", "four" }, { "five", "six" } }; // Three-dimensional array. int[, ,] array3D = new int[,,] { { { 1, 2, 3 }, { 4, 5, 6 } }, { { 7, 8, 9 }, { 10, 11, 12 } } }; // The same array with dimensions specified. int[, ,] array3Da = new int[2, 2, 3] { { { 1, 2, 3 }, { 4, 5, 6 } }, { { 7, 8, 9 }, { 10, 11, 12 } } }; // Accessing array elements. System.Console.WriteLine(array2D[0, 0]); System.Console.WriteLine(array2D[0, 1]); System.Console.WriteLine(array2D[1, 0]); System.Console.WriteLine(array2D[1, 1]); System.Console.WriteLine(array2D[3, 0]); System.Console.WriteLine(array2Db[1, 0]); System.Console.WriteLine(array3Da[1, 0, 1]); System.Console.WriteLine(array3D[1, 1, 2]); // Output: // 1 // 2 // 3 // 4 // 7 // three // 8 // 12
Rank belirtmeden diziyi başlatmak.
int[,] array4 = { { 1, 2 }, { 3, 4 }, { 5, 6 }, { 7, 8 } };
int[,] array5; array5 = new int[,] { { 1, 2 }, { 3, 4 }, { 5, 6 }, { 7, 8 } }; // OK //array5 = {{1,2}, {3,4}, {5,6}, {7,8}}; // Error
Aşağıdaki örnek, belirli bir dizi öğesine bir değer atar.
array5[2, 1] = 25;
Benzer şekilde, aşağıdaki örnek belirli dizi öğesinin değerini alır ve değişkenine atar elementValue.
int elementValue = array5[2, 1];
Aşağıdaki kod örneği, dizi öğelerinin (haricinde, pürüzlü Diziler) varsayılan değerlere sıfırlar.
int[,] array6 = new int[10, 10];
3-Düzensiz(Basit) Diziler
Her biri tek boyutlu dizisi olan üç öğe bulunan bir tek boyutlu dizi bildirimi aşağıda verilmiştir:
int[][] jaggedArray = new int[3][];
jaggedArray[0] = new int[5]; jaggedArray[1] = new int[4]; jaggedArray[2] = new int[2];
jaggedArray[0] = new int[] { 1, 3, 5, 7, 9 }; jaggedArray[1] = new int[] { 0, 2, 4, 6 }; jaggedArray[2] = new int[] { 11, 22 };
De dizi üzerine bildirimi aþaðýdaki gibi baþlatabilirsiniz:
int[][] jaggedArray2 = new int[][] { new int[] {1,3,5,7,9}, new int[] {0,2,4,6}, new int[] {11,22} };
int[][] jaggedArray3 = { new int[] {1,3,5,7,9}, new int[] {0,2,4,6}, new int[] {11,22} };
Basit bir dizi oluşan bir dizi ve bu nedenle öğelerini başvuru türleridir ve için başlatılan null.
Bu örnekleri gibi tek tek dizi öğelerinin erişebilirsiniz:
// Assign 77 to the second element ([1]) of the first array ([0]): jaggedArray3[0][1] = 77; // Assign 88 to the second element ([1]) of the third array ([2]): jaggedArray3[2][1] = 88;
int[][,] jaggedArray4 = new int[3][,] { new int[,] { {1,3}, {5,7} }, new int[,] { {0,2}, {4,6}, {8,10} }, new int[,] { {11,22}, {99,88}, {0,9} } };
Öğenin değerini görüntüler Bu örnekte gösterildiği gibi tek tek öğeleri erişim [1,0] ilk dizinin (değeri 5):
System.Console.Write("{0}", jaggedArray4[0][1, 0]);
System.Console.WriteLine(jaggedArray4.Length);
3 değerini döndürür.
Örnek:
class ArrayTest { static void Main() { // Declare the array of two elements: int[][] arr = new int[2][]; // Initialize the elements: arr[0] = new int[5] { 1, 3, 5, 7, 9 }; arr[1] = new int[4] { 2, 4, 6, 8 }; // Display the array elements: for (int i = 0; i < arr.Length; i++) { System.Console.Write("Element({0}): ", i); for (int j = 0; j < arr[i].Length; j++) { System.Console.Write("{0}{1}", arr[i][j], j == (arr[i].Length - 1) ? "" : " "); } System.Console.WriteLine(); } // Keep the console window open in debug mode. System.Console.WriteLine("Press any key to exit."); System.Console.ReadKey(); } } /* Output: Element(0): 1 3 5 7 9 Element(1): 2 4 6 8 */
Hiç yorum yok:
Yorum Gönder