Jagged Arrays
CoddyのC#ジャーニー「ロジックとフロー」セクションの一部 — レッスン 5/66。
C# におけるジャギード配列は、配列の配列であり、各内側の配列が異なる長さを持つことができます。
3 行のジャグ配列を作成:
int[][] jaggedArray = new int[3][];各行を異なる長さで初期化します:
jaggedArray[0] = new int[4]; // 最初の行は4つの要素を持つ
jaggedArray[1] = new int[2]; // 2番目の行は2つの要素を持つ
jaggedArray[2] = new int[5]; // 3番目の行は5つの要素を持つ要素に値を代入:
jaggedArray[0][0] = 10;
jaggedArray[1][1] = 20;
jaggedArray[2][3] = 30;値を指定してジャグ配列を初期化:
int[][] numbers = new int[][]
{
new int[] {1, 2, 3, 4},
new int[] {5, 6},
new int[] {7, 8, 9, 10, 11}
};行数の取得:
int rows = jaggedArray.Length; // Returns 3特定の行の長さを取得:
int elementsInRow1 = jaggedArray[1].Length; // 2を返しますチャレンジ
中級createTriangle という名前のメソッドを作成してください。このメソッドは:
- 正の整数
sizeをパラメータとして受け取る - 三角形のパターンを表すジャグ配列を返す
- 各行は前の行よりも1つ多くの要素を持つ
- 各要素はその行インデックスと列インデックスの和に等しい
例えば、size = 4 の場合、ジャグ配列は以下のようになります:
[0]
[1, 2]
[2, 3, 4]
[3, 4, 5, 6]チートシート
ジャグ配列は、各内側配列が異なる長さを持つ配列の配列です。
ジャグ配列を作成:
int[][] jaggedArray = new int[3][];異なる長さで行を初期化:
jaggedArray[0] = new int[4]; // First row has 4 elements
jaggedArray[1] = new int[2]; // Second row has 2 elements
jaggedArray[2] = new int[5]; // Third row has 5 elements要素に値を割り当て:
jaggedArray[0][0] = 10;
jaggedArray[1][1] = 20;
jaggedArray[2][3] = 30;値を直接指定して初期化:
int[][] numbers = new int[][]
{
new int[] {1, 2, 3, 4},
new int[] {5, 6},
new int[] {7, 8, 9, 10, 11}
};配列の次元を取得:
int rows = jaggedArray.Length; // Number of rows
int elementsInRow1 = jaggedArray[1].Length; // Length of specific row自分で試してみよう
public class CreateTriangle
{
// CreateTriangle メソッドを実装してください
public static int[][] createTriangle(int size)
{
// ここにコードを記述してください
}
}このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
ロジックとフローのすべてのレッスン
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