Accessing 2D Array Elements
Coddy'nin C# Journey'sinin Mantık & Akış bölümünün bir parçası — ders 3 / 66.
2D bir dizideki öğelere erişmek, normal dizilere benzer bir sözdizimi kullanır, ancak iki dizin gerektirir: biri satır için ve biri sütun için.
Not: C#'ta iki tür çok boyutlu dizi vardır: dikdörtgen diziler (int[,]) ve düzensiz diziler (int[][]). Bu ders, her satırın kendi dizisi olduğu düzensiz dizileri kapsar.
3 satır ve 4 sütunlu bir düzensiz dizi (jagged array) oluşturun:
int[][] grid = new int[3][];
grid[0] = new int[4];
grid[1] = new int[4];
grid[2] = new int[4];Belirli bir konuma bir değer atayın (satır dizini 1, sütun dizini 2):
grid[1][2] = 42;Belirli bir konumdan bir değer okuyun (satır dizini 0, sütun dizini 3):
int value = grid[0][3];Dizinler 0'dan başladığı için, satır dizini 0 1. satırdır ve sütun dizini 3 4. sütundur.
Dizi dizinlerinin 0'dan başladığını unutmayın, bu nedenle geçerli dizin aralıkları şunlardır:
- Satırlar: dizin 0'dan 2'ye kadar (3 satırlı bir dizi için — 1. satır dizin 0, 2. satır dizin 1, 3. satır dizin 2'dir)
- Sütunlar: dizin 0'dan 3'e kadar (4 sütunlu bir dizi için — 1. sütun dizin 0, 2. sütun dizin 1'dir ve bu şekilde devam eder)
grid[3][2] gibi), bir IndexOutOfRangeException hatası alırsınız.Görev
OrtaÜç argüman alan getElement adında bir metot yazın:
- 2 boyutlu bir tam sayı dizisi (
int[][] matrix) - Bir satır indeksi (
int row) - Bir sütun indeksi (
int col)
İndeksler geçerliyse metot, belirtilen konumdaki öğeyi döndürmelidir. Eğer indekslerden biri aralık dışındaysa, metot -1 döndürmelidir.
Kendin dene
public class GetElement
{
public static int getElement(int[][] array, int row, int col)
{
// Kodunuzu buraya yazın
}
}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