C#で2次元配列をループ処理する方法【初心者向け】
C#で2次元配列をループ処理する方法
C#において、2次元配列のすべての要素にアクセスするには、GetUpperBound()メソッドで各次元の最大インデックス(上限)を取得し、ネストされたループ(二重ループ)で反復処理を行うのが基本的な方法です。
この記事では、文字列型の2次元配列を宣言して値を設定し、全要素をコンソールに出力するまでの一連の手順を、実際のコード例とともに解説します。
ステップ1:2次元配列を宣言する
まず、3行×3列の文字列型2次元配列を宣言します。
string[] array = new string[3, 3];
ステップ2:配列に要素を設定する
行と列のインデックスをカンマで区切って指定し、各要素に値を代入していきます。
array[0, 0] = "One"; array[0, 1] = "Two"; array[0, 2] = "Three"; array[1, 0] = "Four"; array[1, 1] = "Five"; array[1, 2] = "Six"; array[2, 0] = "Seven"; array[2, 1] = "Eight"; array[2, 2] = "Nine";
ステップ3:各次元の上限(UpperBound)を取得する
ループ処理のための境界値として、GetUpperBound()メソッドを使って各次元の最大インデックスを取得します。GetUpperBound(0)が第1次元(行)、GetUpperBound(1)が第2次元(列)の上限を返します。
int uBound0 = array.GetUpperBound(0); int uBound1 = array.GetUpperBound(1);
ステップ4:ネストされたループで反復処理する
外側のループで第1次元を、内側のループで第2次元を走査することで、配列内のすべての要素に順番にアクセスできます。以下が完全なサンプルプログラムです。
サンプルコード
using System;
using System.Collections.Generic;
using System.Linq;
public class Demo {
public static void Main() {
string[] array = new string[3, 3];
array[0, 0] = "One";
array[0, 1] = "Two";
array[0, 2] = "Three";
array[1, 0] = "Four";
array[1, 1] = "Five";
array[1, 2] = "Six";
array[2, 0] = "Seven";
array[2, 1] = "Eight";
array[2, 2] = "Nine";
// 上限(UpperBound)を取得
int uBound0 = array.GetUpperBound(0);
int uBound1 = array.GetUpperBound(1);
for (int i = 0; i <= uBound0; i++) {
for (int j = 0; j <= uBound1; j++) {
string res = array[i, j];
Console.WriteLine(res);
}
}
Console.ReadLine();
}
}
実行結果
One Two Three Four Five Six Seven Eight Nine
補足:その他のループ方法
GetUpperBound()の代わりに、GetLength(0)やGetLength(1)で各次元の要素数を取得し、i < array.GetLength(0)のように条件式を書く方法もよく使われます。また、foreach文を使用すれば、2次元配列の全要素を自動的に行優先で順番に取り出すことも可能です。状況に応じて使い分けるとよいでしょう。
-
C#の多次元配列とは?2次元配列の宣言方法と使い方を実例付きで解説
C#では、多次元配列を扱うことができます。int型の2次元配列は、次のように宣言します。int[] a;多次元配列の中で最もシンプルな形式が2次元配列です。2次元配列とは、1次元配列を要素として持つ配列、すなわち「配列の配列」のような構造をイメージすると分かりやすいでしょう。例えば、次の図は3行4列の2次元配列を表しています。多次元配列の使用例ここからは、実際にC#で多次元配列を操作するサンプルコードを見ていきましょう。以下の例では、5行2列の2次元配列を宣言・初期化し、入れ子になったforループですべての要素を出力します。using System; namespace ArrayApplic
-
Pythonで配列内の複数の数値の最大公約数(GCD)を求める方法
はじめに本記事では、Pythonを使って配列(リスト)内の2つ以上の数値から最大公約数(GCD:Greatest Common Divisor)を求める方法を解説します。問題の概要数値の配列が与えられ、そのすべての要素に共通する最大公約数を求めることが目的です。3つ以上の数値のGCDは、「引数として渡されたすべての数値に共通する素因数の積」として定義できます。また、隣り合う2つの数値のGCDを繰り返し計算していくことでも求められます。ここでは、後者のアプローチである「ペアごとのGCDを順番に計算する」方法を実装します。アルゴリズムの流れまず、リストの最初の2つの要素のGCDを計算します。次に、