2D Arrays Basics
Coddy'nin C# Journey'sinin Mantık & Akış bölümünün bir parçası — ders 1 / 66.
C#'ta kesikli dizi, dizilerin bir dizisidir ve bir ızgara veya matris benzeri yapı oluşturur. Satır ve sütunlara sahip bir tablo gibidir; her hücre bir değer tutabilir. Kesikli diziler, satranç tahtası, oturma şeması veya ızgara tabanlı bir oyun gibi iki boyutlu bir ilişkiye sahip verileri temsil etmek için kullanışlıdır.
C#'ta bir kesik dişli diziyi bildirme ve başlatma işlemi şöyle yapılır:
data_type[][] arrayName = new dataType[numberOfRows][];dataType: Dizinin tutacağı öğelerin türü (ör. int, string vb.).
arrayName: Diziye verdiğiniz isim.
numberOfRows: Dizideki satır sayısı.
Her satır daha sonra ayrı ayrı başlatılmalıdır:
arrayName[0] = new dataType[lengthOfFirstRow];
arrayName[1] = new dataType[lengthOfSecondRow];
// ve böyle devam eder...Örneğin, her satırı 4 sütun içeren 3 satırlı bir tamsayı kesik dizisi oluşturmak için şu şekilde yazarsınız:
int[][] matrix = new int[3][];
matrix[0] = new int[4];
matrix[1] = new int[4];
matrix[2] = new int[4];Ayrıca bir kesik diziyi doğrudan değerlerle başlatabilirsiniz:
int[][] matrix = new int[][] {
new int[] {1, 2, 3},
new int[] {4, 5, 6},
new int[] {7, 8, 9}
};Görev
KolayAşağıdaki değerlerle bir kesik dizi 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örevimiz, bu tam değerlerle kesik diziyi doğru şekilde başlatmak ve programın matrisi doğru şekilde yazdırmasını sağlamaktır.
Kopya kağıdı
Jagged bir dizi, dizilerin bir dizisidir ve satır ve sütunlara sahip matris benzeri bir yapı oluşturur.
Tanımlama sözdizimi:
data_type[][] arrayName = new dataType[numberOfRows][];Her satır ayrı ayrı başlatılmalıdır:
arrayName[0] = new dataType[lengthOfFirstRow];
arrayName[1] = new dataType[lengthOfSecondRow];Ayrı başlatma ile örnek:
int[][] matrix = new int[3][];
matrix[0] = new int[4];
matrix[1] = new int[4];
matrix[2] = new int[4];Değerlerle doğrudan başlatma:
int[][] matrix = new int[][] {
new int[] {1, 2, 3},
new int[] {4, 5, 6},
new int[] {7, 8, 9}
};Kendin dene
using System;
class Program
{
static void Main(string[] args)
{
int[][] matrix = {
// Kodu buraya yazın
};
// Matrisi yazdır
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