.NET:基礎 > 言語構造:配列
配列
配列の宣言
【C#2003〜】
// 宣言&インスタンス化。
// データ型[] 変数 = new データ型[要素数];
int[] a = new int[2];
// 要素数を指定せずに宣言。(実体なし)
// ⇒ newで実体化
// データ型[] 変数;
int[] a;
// 初期値を設定して宣言。
// データ型[] 配列 = {要素1 [,要素2 …]};
int[] c = {1, 2};
【VB2003〜】
' 要素数を指定して宣言。
' Dim 配列(境界上限値) As データ型
Dim a(1) As Integer
' 要素数を指定せずに宣言。(実体なし)
' ⇒ ReDimで実体化
' Dim 配列() As データ型
Dim b() As Integer
' 初期値を設定して宣言。
' Dim 配列() As データ型 = {要素1 [,要素2 …]}
Dim c(1) As Integer = {1, 2}
' 要素数を再定義(配列は事前に宣言されていること)
' ReDim [Preserve] 配列(境界上限値) As データ型
ReDim b(1) As Integer
(言語による配列の扱い方の違い)
項目|言語 |
C# |
VB.NET |
(VB6.0) |
実体定義 |
New(インスタンス生成) |
要素を含めて宣言, ReDim |
要素を含めて宣言, ReDim |
宣言時の添え字 |
要素数。(上限値-1) |
要素数-1。(上限値) |
要素数-1。(上限値) |
境界値(Index)下限値 |
変更不可。(0固定) |
変更不可。(0固定) |
宣言時に指定可能。 |
境界値(Index)上限値 |
要素数-1。(変更不可) |
要素数-1。(変更可) |
要素数-1。(変更可) |
配列の操作
配列の要素数を動的に変更する
【C#2003〜】
int a[] = new a[2];
a[0] = 1;
a[1] = 2;
// tmpに退避。
int tmp[] = a;
// aを再定義。
a = new int[3];
// tmpから退避値をコピー&追加要素の設定。
tmp.CopyTo(a, 0);
a[2] = 3;
【VB2003〜】
Dim a(1) As Integer
a(0) = 1
a(1) = 2
' 元の状態を保持したまま(Preserve)
' 要素数を変更&追加要素の設定。
Redim Preserve a(2)
a(2) = 3
-
引数に直接配列を定義して設定する
【C#2003〜】
string.Format("{0},{1}", New String[] {"1", "2"})
【VB2003〜】
String.Format("{0},{1}", New String() {"1", "2"})