2D Arrays Basics
Coddy'nin C# Journey'sinin Mantık & Akış bölümünün bir parçası — ders 1 / 66.
C#'ta, düzensiz dizi (jagged array), bir diziler dizisidir ve bir ızgara veya matris benzeri bir yapı oluşturur. Her hücrenin bir değer tutabildiği, satır ve sütunları olan bir tablo gibidir. Düzensiz diziler, satranç tahtası, oturma planı veya ızgara tabanlı bir oyun gibi iki boyutlu bir ilişkiye sahip verileri temsil etmek için kullanışlıdır.
C#'ta düzensiz bir diziyi (jagged array) şu şekilde bildirebilir ve başlatabilirsiniz:
data_type[][] arrayName = new dataType[numberOfRows][];dataType: Dizinin tutacağı öğelerin türü (örneğin, int, string, vb.).
arrayName: Diziye verdiğiniz isim.
numberOfRows: Dizideki satır sayısı.
Daha sonra her satırın ayrı ayrı başlatılması gerekir:
arrayName[0] = new dataType[lengthOfFirstRow];
arrayName[1] = new dataType[lengthOfSecondRow];
// ve bu şekilde devam eder...Örneğin, her satırı 4 sütunlu olan 3 satırlı tamsayılardan oluşan bir düzensiz dizi (jagged array) oluşturmak için şöyle yazarsınız:
int[][] matrix = new int[3][];
matrix[0] = new int[4];
matrix[1] = new int[4];
matrix[2] = new int[4];Bir pürüzlü diziyi doğrudan değerlerle de başlatabilirsiniz:
int[][] matrix = new int[][] {
new int[] {1, 2, 3},
new int[] {4, 5, 6},
new int[] {7, 8, 9}
};Not: Bu platform, C# 12 öncesi bir derleyici kullanmaktadır. C# 12 ile tanıtılan daha kısa koleksiyon ifadesi sözdizimi (örneğin, int[][] matrix = [[1, 2], [3, 4]];) burada desteklenmemektedir. Lütfen yukarıda gösterilen geleneksel new int[][] { ... } başlatma sözdizimini kullanın.
Görev
KolayAşağıdaki değerlerle bir pürüzlü dizi (jagged array) başlatın:
5, 7, 10, 24, 41
86, 13, 683, 64, 13
42, 46, 791, 111, 9
86, 88, 1845, 5, 15897
9, 1, 5, 5, 6Göreviniz, pürüzlü diziyi bu tam değerlerle doğru bir şekilde başlatmak ve programın matrisi doğru bir şekilde yazdırmasını sağlamaktır.
Not: Bu platform C# 12 öncesi bir derleyici kullanmaktadır. C# 12 koleksiyon ifadesi sözdizimi (örneğin, int[][] matrix = [[1, 2], [3, 4]];) desteklenmemektedir. Bunun yerine geleneksel başlatma sözdizimini kullanın:int[][] matrix = new int[][] { new int[] {1, 2}, new int[] {3, 4} };
Kendin dene
using System;
class Program
{
static void Main(string[] args)
{
int[][] matrix = {
// Kodunuzu buraya yazın
};
// Matrisi yazdırın
int rows = matrix.Length;
for (int i = 0; i < rows; i++)
{
int cols = matrix[i].Length;
for (int j = 0; j < cols; j++)
{
Console.Write(matrix[i][j] + " ");
}
Console.WriteLine();
}
}
}Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Mantık & Akış bölümündeki tüm dersler
1Multi-dimensional Arrays
2D Arrays BasicsDeclaring and Initializing 2DAccessing 2D Array ElementsNested Loops with 2D ArraysJagged ArraysCommon Matrix OperationsRecap - Multi-dimensional4Flow Control Techniques
Early ReturnsGuard ClausesJump Statements (goto)Break and ContinueFlatten Nested Conditionals7Logical Operators Advanced
Short-Circuit EvaluationConditional Logical OperatorsOperator PrecedenceRecap - Advanced Operators2Advanced Decision Making
Multiple ConditionsComplex Boolean LogicIf vs. Switch ComparisonNested Switch StatementsRecap - Advanced Decisions5Exception Handling
Try-Catch BasicsException TypesMultiple Catch BlocksWorking with FilesFinally BlockUsing vs. Try-FinallyCustom ExceptionsRecap - Error Handling3Loop Enhancements
Loop PerformanceIterating ComplexEach Loop TypeRefactoring LoopsRecap - Optimized Loops6Null Handling
Null Reference BasicsNullable Value TypesNull Checking PatternsDefensive ProgrammingRecap - Null Safety