Declaring and Initializing 2D
Coddy'nin C# Journey'sinin Mantık & Akış bölümünün bir parçası. Ders 2 / 66.
C# dilinde 2D dizi, dizi dizileri olan ve verileri ızgara benzeri bir yapıda depolamanı sağlayan düzensiz diziler kullanılarak oluşturulabilir.
3 satır ve 4 sütundan oluşan bir jagged integer 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, şöyle görünen bir 2B dizi oluşturur (tüm öğeler 0 olarak başlatılır):
[0, 0, 0, 0]
[0, 0, 0, 0]
[0, 0, 0, 0]Değerlerle bir düzensiz 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ütundan oluşan 2B bir dizi oluşturur:
[1, 2, 3]
[4, 5, 6]Satır ve sütun sayısını almak için:
int rows = matrix.Length; // 2 döndürür
int columns = matrix[0].Length; // 3 döndürür (ilk satır için)2B bir dizideki öğelere erişmek iki dizin gerektirir: biri satır, diğeri sütun için.
Belirli bir konuma (row 1, column 2) bir değer atayın:
grid[1][2] = 42;Belirli bir konumdan (row 0, column 3) bir değer okuyun:
int value = grid[0][3];Dizi indislerinin 0'dan başladığını unutma; bu nedenle geçerli aralıklar şunlardır:
- Satırlar: 0'dan 2'ye (3 satırlı bir dizi için)
- Sütunlar: 0'dan 3'e (4 sütunlu bir dizi için)
Bu aralıkların dışındaki bir öğeye erişmeye çalışırsanız (örneğin grid[3][2]), 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 SafetyKendi başına pratik yap: Online C# derleyicisi