1、1 次元:
int[] 数値 = new int[]{1,2,3,4,5,6} //長さは不定
int[] 数値 = new int[3]{1,2, 3};//固定長
2 番目の多次元
int[,]数値 = new int[,]{{1,2,3},{1,2,3}} //非固定長
int[ ,]数値 = new int[2,2]{{1,2},{1,2}} // 固定長
3. 例
A: int[] mf1=new int[6];配列の範囲、または初期値を指定します。 //6 要素を含む 1 次元の整数配列、初期値は 1、2、3、4、5、6 int[] mf2=new int[6]{1,2 ,3,4,5,6};
B://初期化子が指定されている場合、new 演算子も省略できます
string[] mf3={"c"," c++", "c#"};
C://1次元のオブジェクト配列
Object[] mf4 = new Object[5] { 26, 27, 28, 29, 30 }; 、初期値 mf5[0,0]=1,mf5[0,1]=2,mf5[1,0]=3,mf5[1,1]=4
int[,] mf5=new int[, ] {{1,2},{3,4}};
E: //6*6 の 2 次元整数配列
int[,] mf6=new mf[6,6]; の数を取得します。配列要素:
int b;
b = sizeof (a)/sizeof (*a);
string time=convert.tostring(DateTime.Today).split( new char []{' '}); text=time[0]; 分割点としてスペースを使用します。
配列の概要
ゼロベースのインデックス付けによる C# 配列とは、配列のインデックス付けが 0 から始まることを意味します。 C# では配列は、他のほとんどの一般的な言語での動作と同様に動作します。ただし、注意すべき違いがいくつかあります。
配列を宣言するときは、識別子ではなく型の後に角かっこ ([]) を付ける必要があります。 C# では、識別子の後に角括弧を置くことは不正な構文です。
int[] table; // not int table[];
int[]numbers; //数値を任意のサイズの int 配列として宣言します
numbers = new int[10]; //数値は 10 要素の配列ですnumbers = new int[20]; // -要素配列
配列の宣言
C# は、1 次元配列、多次元配列 (長方形配列)、および配列の配列 (インターリーブ配列) をサポートしています。次の例は、さまざまな型の配列を宣言する方法を示しています:
1 次元配列: int[] 数値;
配列の配列 (インターリーブ): byte[][] スコア;
配列 (上に示したもの) を宣言しても、実際には配列は作成されません。 C# では、配列はオブジェクト (このチュートリアルで後ほど説明します) であり、インスタンス化する必要があります。次の例は、配列の作成方法を示しています。
1 次元配列: int[]数値 = new int[5];
多次元配列: string[,] names = new string[5,4];配列 (インターリーブ) :byte[][] スコア = new byte[5][]; for (int x = 0; x
さらに大きな配列も可能です。たとえば、3 次元の長方形配列を作成できます: int[,,] button = new int[4,5,3];
長方形配列とギザギザ配列を混合することもできます。たとえば、次のコードは、int 型の 2 次元配列の 1 次元配列、int[][,,][,] 数値の 3 次元配列を宣言します。
C# の初期値を囲みます。中括弧 ({} ) 内の値は、宣言時に配列を初期化するための単純かつ直接的な方法を提供します。次の例は、さまざまな型の配列を初期化するさまざまな方法を示しています。
注: 宣言時に配列が初期化されていない場合、配列メンバーは配列型のデフォルトの初期値に自動的に初期化されます。さらに、配列が型のフィールドとして宣言されている場合、その型がインスタンス化されるときに、配列はデフォルト値の null に設定されます。
一次元配列
int[]数値 = new int[5] {1, 2, 3, 4, 5};
string[] names = new string[3] {"Matt", "Joanne", " Robert "};
配列のサイズは次のように省略できます:
int[]numbers = new int[] {1, 2, 3, 4, 5};
string[] names = new string[] { "Matt" , "Joanne", "Robert"};
初期化子が指定されている場合は、次のように new 演算子を省略することもできます:
int[]数値 = {1, 2, 3, 4, 5}; string[] names = {"マット"、"ジョアン"、"ロバート"};
多次元配列
int[,]数値 = new int[3, 2] { {1, 2}, {3, 4}, {5, 6} };
string[,]兄弟 = new string[2, 2] ] { {"Mike","Amy"}, {"Mary","Albert"} };
配列のサイズは次のように省略できます:
int[,]numbers = new int[,] { { 1, 2}, {3, 4}, {5, 6} };
string[,] 兄弟 = 新しい string[,] { {"マイク","エイミー"}, {"メアリー","アルバート"}
初期化子が指定されている場合は、次のように new 演算子を省略することもできます:
int[,]数値 = { {1, 2}, {3, 4}, {5, 6} };
string[ ,]兄弟 = { {"Mike", "Amy"}, {"Mary", "Albert"} };
千鳥配列 (配列の配列)
千鳥配列は次の例のように初期化できます:
int [][] 数値 = new int[2][] { new int[] {2,3,4}, new int[] {5,6,7,8,9} };
最初の数値は省略可能配列のサイズは次のとおりです:
int[][] 数値 = new int[][] { new int[] {2,3,4}, new int[] {5,6,7,8, 9 } };-または-
int[][]数値 = { new int[] {2,3,4}, new int[] {5,6,7,8,9} };
There については次のことに注意してください。は、ギザギザ配列の要素の初期化構文ではありません。
配列メンバーへのアクセス
配列メンバーへのアクセスは、C/C++ での配列メンバーへのアクセスと同様に、直接行うことができます。たとえば、次のコードは、numbers という名前の配列を作成し、配列の 5 番目の要素に 5 を割り当てます。
int[]numbers = {10, 9, 8, 7, 6, 5, 4, 3, 2 , 1, 0};
numbers[4] = 5;
次のコードは、多次元配列を宣言し、[1, 1] にあるメンバーに 5 を割り当てます。
int[,]numbers = { {1, 2} , {3, 4}, {5, 6}, {7, 8}, {9, 10} };
numbers[1, 1] = 5;
以下は、2 つの要素を含む 1 次元のインターリーブ配列を宣言します。最初の要素は 2 つの整数の配列で、2 番目の要素は 3 つの整数の配列です:
int[][]数値 = new int[][] { new int[] {1, 2}, new int[ ] {3, 4, 5}};
次のステートメントは、最初の配列の最初の要素に 58 を割り当て、2 番目の配列の 2 番目の要素に 667 を割り当てます:
numbers[0][0] = 58;
numbers[1] [1] = 667;
配列はオブジェクトです
C# では、配列は実際にはオブジェクトです。 System.Array は、すべての配列型の抽象基本型です。 System.Array のプロパティだけでなく、他のクラス メンバーも使用できます。この使用例としては、Length プロパティを使用して配列の長さを取得することが挙げられます。次のコードは、数値配列の長さ (5) を LengthOfNumbers という名前の変数に割り当てます。 Array このクラスは、配列の並べ替え、検索、コピーのためのメソッドなど、多くの便利な追加メソッド/プロパティを提供します。
配列で foreach を使用する
C# には foreach ステートメントも用意されています。このステートメントは、配列の要素を反復処理するための単純かつ明確な方法を提供します。たとえば、次のコードは、numbers という名前の配列を作成し、foreach ステートメントを使用して配列を反復処理します。 foreach (int i in数値){System.Console.WriteLine(i);}
int[,]数値 = new int[ 3, 2] {{9, 99}, {3, 33}, {5, 55}};
foreach(int i in数値){Console.Write("{0} ", i);}
出力この例の例は次のとおりです: 9 99 3 33 5 55
ただし、多次元配列のため、ネストされた for ループを使用すると、配列要素をより適切に制御できるようになります
C# で配列を定義する方法に関連するその他の記事については、 、PHP 中国語 Web サイトに注意してください。