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.
Kopya kağıdı
C#'ta kesikli dizi (2D dizi) oluşturun:
int[][] grid = new int[3][];
grid[0] = new int[4];
grid[1] = new int[4];
grid[2] = new int[4];Değerlerle başlatın:
int[][] matrix = new int[2][];
matrix[0] = new int[] {1, 2, 3};
matrix[1] = new int[] {4, 5, 6};Boyutları alın:
int rows = matrix.Length; // Satır sayısı
int columns = matrix[0].Length; // İlk satırdaki sütun sayısıİki indeks kullanarak elemanlara erişin [satır][sütun]:
grid[1][2] = 42; // Değer atayın
int value = grid[0][3]; // Değer okuyunDizi indeksleri 0'dan başlar. Aralık dışı indekslere erişim IndexOutOfRangeException fırlatır.
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