HOWTO · Csharp

C# の文字列の配列

このガイドでは、C# での文字列の配列の宣言と初期化について説明します。

このページの内容

このガイドでは、C# の文字列の配列について説明します。

文字列の配列を宣言する方法は? それをどのように初期化して実装しますか?

ユーザー入力からの文字列の配列内に複数の値を格納するにはどうすればよいでしょうか? これらはすべて、この記事で回答されます。

C# の文字列の配列

配列は、一度に複数の要素を格納する方法です。 配列では、宣言する前に型を指定します。

したがって、文字列値を配列に格納すると、文字列の配列と呼ばれます。

C# での文字列配列の宣言

配列を文字列として宣言するには、先頭に string 型を追加する必要があります。 角括弧 []string キーワードも書かなければなりません。

文字列配列を宣言する方法の例を以下に示します。

string[] favColor = {};  // declare only

favColor の文字列配列が宣言されています。 現在、初期化がないため、配列は null です。

この配列内には値がありません。 どのようにそれを埋めることができるか見てみましょう。

C# での文字列配列の初期化と実装

初期化するには、コンパイル時に要素を配列に追加します。 インデックスを使用して要素を 1つずつ追加して配列を初期化することも、すべてをまとめて初期化することもできます。

配列が以前に宣言されている場合、new キーワードを使用してデータ型の配列を初期化する必要があります。 インデックスを介して値にアクセスすることもできます。

文字列値を使用しているため、二重引用符 "" を使用する必要があることに注意してください。

string[] favColor = {};
favColor = new string[3] { "Blue", "Green", "White" };  // initialize only
favColor[0] = "red";                                    // it will override blue
Console.WriteLine("my favorite color " + favColor[0]);

出力:

my favorite color red

配列の初期化と宣言を同時に行うこともできます。 以下のコードのように、ループを使用して配列全体を出力することはよく知られています。

string[] favColor = { "blue", "green", "white" };

for (int i = 0; i < favColor.Length; i++)  // print favColor using for loop
{
  Console.WriteLine(favColor[i]);
}

出力:

blue
green
white

ユーザー入力から値を取得し、文字列の配列に格納する

宣言後、初期化によって値を配列に格納します。 さて、これには 2つの方法があります。

1つはコンパイル時です。 この方法についてはすでに説明したので、今度は別の方法、つまり実行時の方法を見ていきます。

コンパイラは、ユーザーからデータを収集します。 したがって、コンパイル時にデータを追加する代わりに、実行時にデータを追加します。

ご存知のように、各値を個別に宣言することを避けるために、データは配列に追加されます。 したがって、実行時に、for ループを使用して値を追加し、値を 1つずつ追加する必要がないようにします。

この例では、ユーザー入力から値を保存する方法について詳しく説明します。

string[] favColor = new string[5];  // string array of 5 is declared

for (int i = 0; i < 5; i++)  // user input for string array
{
  Console.Write("Enter string: ");

  favColor[i] = Console.ReadLine();
}

Console.WriteLine(" ");
Console.WriteLine("This is the output: ");

for (int i = 0; i < 5; i++)  // printing the string array
{
  Console.WriteLine(favColor[i]);
}

出力:

Enter string: red
Enter string: blue
Enter string: green
Enter string: red
Enter string: orange

This is the output:
red
blue
green
red
orange