c array how declare
この詳細なチュートリアルで、C#配列のすべてを学びます。 C#の配列のタイプと例とともに、配列を宣言、初期化、アクセスする方法について説明します。
このC#シリーズの前回のチュートリアルでは、C#関数について詳しく説明しました。
以前のチュートリアルの1つで、C#の変数を使用して特定のデータ型に関する情報を含める方法を学びました。ただし、変数には問題があります。つまり、格納できるリテラル値は1つだけです。
例えば、 int a = 2、複数の値を格納したい状況を想像してみてください。格納したいすべての値に変数を定義するのは面倒になりすぎます。 C#は、この問題を解決するための配列を提供します。
C ++用のEclipseをセットアップする方法
学習内容:
C#の配列
配列は、指定された構文を使用して順番に配置された多数の値を格納できる特別なデータ型として定義できます。配列は、シーケンシャルメモリ位置に格納されている同じデータ型の変数のコレクションとして定義することもできます。
データ型変数とは異なり、値ごとに個別の変数を宣言するのではなく、配列インデックスを使用して特定の要素にアクセスできる配列変数を宣言します。
例えば、 配列変数を「名前」として定義した場合。 Name (0)、Name (1)、Name (2)…などのインデックスを使用して、さまざまなメモリ位置にあるコンテンツにアクセスできます。
上の画像は、1次元配列をグラフで表したものです。特定のインデックスを使用してアクセスできる5つの要素(各キューブで表されます)があります。
アレイの長所と短所
アレイの利点のいくつかを以下に示します。
- 異なるメモリ位置に保存されている値へのランダムアクセス。
- データの並べ替え、データのトラバース、その他の操作などの簡単なデータ操作。
- コードの最適化。
配列が持つ唯一の欠点は、そのサイズ制限です。配列は明確なサイズです。
C#の配列の種類
C#プログラミング言語は、次の3種類の配列を提供します。
- 1次元または1次元配列
- 多次元配列
- ギザギザの配列
一次元配列
1次元配列を使用すると、データを順番に格納できます。クラスのすべての生徒の名前を保存する必要があるとしましょう。配列は、同様のデータ型を格納するためのより簡単な方法を提供するため、すべての学生名を配列に格納できます。
C#で配列を宣言する方法は?
配列は、データ型名、角括弧、配列名の順に使用して宣言できます。
int( ) integerArray; string( ) stringArray; bool( ) booleanArray;
同様に、さまざまなデータ型の配列を宣言できます。
C#で配列を初期化する方法は?
(i)指定されたサイズで配列を定義する
newキーワードを使用すると、配列を一緒に初期化して宣言できます。 3人の学生の配列を初期化します。サイズ3の配列を作成する必要があります。
string ( ) student = new string ( 3 );
最初の部分「文字列」は配列のデータ型を定義し、次に配列名を提供します。次に、equalsを書き込んだ後、配列のサイズを初期化して提供します。つまり3。
(ii)配列を定義し、それらに値を追加する
これは前の例と非常に似ていますが、配列の値を含む中括弧が異なります。
string ( ) student = new string ( 3 ){“student1”, “student2”, “student3”};
(iii)要素を含む配列の宣言
このタイプの宣言では、配列サイズを指定せずに配列を直接宣言します。提供する値の数によって、サイズが自動的に決定されます。 例えば、 3つの値を指定する場合、配列のサイズは3になります。
string ( ) student = {“student1”, “student2”, “student3”};
配列から値にアクセスする
配列から任意の要素にアクセスするには、インデックス名を使用して配列にアクセスする必要があります。これは、配列名が前に付いた角括弧内に要素のインデックスを配置することで実行できます。
例えば、 次の配列を初期化して宣言した場合:
string ( ) student = {“student1”, “student2”, “student3”};
次に、インデックスを使用して値を取得できます。」
student(0) ;
これにより、「student1」が返されます。
しかし、なぜゼロなのですか? これは、配列のカウントが1ではなく0から始まるためです。したがって、最初の値はインデックス0に格納され、次の値は1に格納されます。配列に値を割り当てるときは、これも覚えておく必要があります。これは、いっぱいになると例外がスローされるためです。
Forループを使用して配列にアクセスする
forループを使用して配列の値にアクセスするプログラムを作成しましょう。
string () std = new string(3) {“student1”, “student2”, “student3”}; /* value of each array element*/ for (int i = 0; i <3; i++ ) { Console.WriteLine('std({0}) = {1}', i, std(i)); } Console.ReadKey();
上記のプログラムの出力は次のようになります。
std (0) =“ student1”
std (1) =“ student2”
std (2) =“ student3”
ご存知のように、角括弧内にインデックスを指定することで要素にアクセスできます。これは、上記のプログラムで採用したのと同じアプローチです。各インデックスをループして、値をコンソールに出力しました。
単純なforeachループで同じ例を使用してみましょう。
For-Eachループを使用した配列へのアクセス
string () std = new string(3) {“student1”, “student2”, “student3”}; /* looping through value of each array element*/ foreach (string s in std ) { Console.WriteLine(s); } Console.ReadKey();
上記のプログラムの出力は次のようになります。
学生1
学生2
学生3
配列で使用されるプロパティとメソッド
配列クラスは、C#で定義されているすべての配列の基本クラスです。これはシステム名前空間内で定義され、配列に対して操作を実行するためのさまざまなメソッドとプロパティを提供します。
C#で最も一般的に使用される方法のいくつかについて説明しましょう
晴れ
配列に存在する要素をクリアします。データ型に応じて、配列要素をゼロ、false、またはnullに変換できます。
構文
Array.Clear (ArrayName, Index of starting element, number of element to clear);
string () std = new string(3) {“student1”, “student2”, “student3”}; /* looping through value of each array element*/ foreach (string s in std ) { Console.WriteLine(s); } /* clearing the array by providing parameters */ Array.Clear(std, 0, 3); foreach (string s in std ) { Console.WriteLine(s); } Console.ReadKey();
上記のプログラムの出力は次のようになります。
学生1
学生2
学生3
アレイ。 Clearステートメントは3つのパラメーターを受け入れます。最初のパラメーターは配列の名前、2番目のパラメーターはクリアする要素の範囲の開始インデックス、3番目のパラメーターはクリアする要素の数です。
この例では、インデックス「0」から開始し、3つの要素すべてをクリアしました。要件に応じて、独自のパラメーターを指定できます。
GetLength
配列の長さ、つまり配列内に存在する要素の数を返します。
構文
ArrayName.Length;
string () std = new string(3) {“student1”, “student2”, “student3”}; /* looping through value of each array element*/ foreach(string s in std){ Console.WriteLine(s); } int len = std.Length; Console.WriteLine(“The length of array is: ”+len); Console.ReadKey();
上記のプログラムの出力は次のようになります。
学生1
学生2
学生3
配列の長さは次のとおりです:3
上記のプログラムでは、lengthが整数値を返すため、値を整数変数に格納し、コンソールに出力しました。
の指標
指定されたオブジェクトが最初に出現するインデックスを1次元配列から取得します。
構文
Array.IndexOf(NameOfArray, Element_Value);;
string () std = new string(3) {“student1”, “student2”, “student3”}; /* looping through value of each array element*/ foreach (string s in std ) { Console.WriteLine(s); } int len = Array.IndexOf(std, 'student3'); Console.WriteLine(len); Console.ReadKey();
上記のプログラムの出力は次のようになります。
学生1
学生2
学生3
二
IndexOfは2つのパラメーターを受け入れます。最初のパラメーターは配列名で、次のパラメーターは配列内の要素の値です。
Reverse(配列)
配列に存在する要素のシーケンスを逆にします。
構文
Array.Reverse(NameOfArray);
string () std = new string(3) {“student1”, “student2”, “student3”}; /* looping through value of each array element*/ foreach (string s in std ) { Console.WriteLine(s); } Array.Reverse(std); /* looping through value of each array element*/ foreach (string s in std ) { Console.WriteLine(s); } Console.ReadKey();
上記のプログラムの出力は次のようになります。
学生1
学生2
学生3
学生3
学生2
学生1
リバースは、1つのパラメーター、つまり配列名を受け入れます。
上記の例では、最初に配列から要素を出力しました。次に、アレイに対して逆の操作を実行しました。次に、逆の操作の結果を印刷しました。
Sort(Array)
配列に存在する要素のシーケンスをソートします。
構文
Array.Sort(NameOfArray);
string () std = new string(3) {'colt', 'zebra', 'apple'}; /* looping through value of each array element*/ foreach (string s in std ) { Console.WriteLine(s); } Array.Sort(std); foreach (string s in std ) { Console.WriteLine(s); } Console.ReadKey();
上記のプログラムの出力は次のようになります。
コルト
シマウマ
林檎
林檎
コルト
シマウマ
上記の出力では、配列内の前の要素が、指定したシーケンスに従って配置されていることがわかります。
並べ替え操作を実行すると、配列内のすべての要素がアルファベット順に配置されます。
結論
このチュートリアルでは、C#の配列について学習しました。配列は、類似したデータ型の値を一連に格納できます。配列の級数インデックスはゼロから始まります。配列のサイズは、配列の初期化時に指定する必要があります。
インデックスを使用して、配列の値にアクセスできます。 C#配列ヘルパークラスには、配列の操作を容易にするためのいくつかの異なるプロパティとメソッドが含まれています。