Declaring and Initializing 2D
Coddy'nin C# Journey'sinin Mantık & Akış bölümünün bir parçası — ders 2 / 66.
C#'ta bir 2D dizi, dizilerin dizisi olan kesik diziler kullanılarak oluşturulabilir; bu sayede verileri ızgara benzeri bir yapıda saklayabilirsiniz.
3 satır ve 4 sütunlu bir tamsayı kesik dişli dizisi oluşturmak için:
int[][] grid = new int[3][];
grid[0] = new int[4];
grid[1] = new int[4];
grid[2] = new int[4];Yukarıdaki kod, şu şekilde görünen bir 2D dizi oluşturur (tüm elemanlar 0 ile başlatılmış):
[0, 0, 0, 0]
[0, 0, 0, 0]
[0, 0, 0, 0]Değerlerle bir kesikli dizi başlatın:
int[][] matrix = new int[2][];
matrix[0] = new int[] {1, 2, 3};
matrix[1] = new int[] {4, 5, 6};Bu, şu değerleri içeren 2 satır ve 3 sütunlu bir 2D dizi oluşturur:
[1, 2, 3]
[4, 5, 6]Satır ve sütun sayılarını almak için:
int rows = matrix.Length; // Returns 2
int columns = matrix[0].Length; // Returns 3 (for the first row)2D bir dizideki elemanlara erişmek için iki indeks gereklidir: biri satır için, diğeri sütun için.
Belirli bir konuma (satır 1, sütun 2) bir değer atayın:
grid[1][2] = 42;Belirli bir konumdan (satır 0, sütun 3) bir değer oku:
int value = grid[0][3];Dizi indekslerinin 0'dan başladığını unutmayın, bu nedenle geçerli aralıklar şunlardır:
- Satırlar: 0 ile 2 (3 satırlı dizi için)
- Sütunlar: 0 ile 3 (4 sütunlu dizi için)
Bu aralıkların dışında bir elemana erişmeye çalışırsanız (örneğin grid[3][2] gibi), bir IndexOutOfRangeException alırsınız.
Kendin dene
Bu ders bir kod alıştırması içermiyor.
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