私は、配列のためにintに文字列からユーザーの入力を変換するために、その後、次の文字列配列 文字列配列に含まれる要素の数を決定するには、どのようにユーザー入力を取得しますか?
- への道を見つけるのに苦労しています :
- は
Console.WriteLine(1. StringName 2.StringName);
これは私のコードです....また、そのような文字列の要素と一緒に要素番号を表示する方法があります
私は、配列のためにintに文字列からユーザーの入力を変換するために、その後、次の文字列配列 文字列配列に含まれる要素の数を決定するには、どのようにユーザー入力を取得しますか?
Console.WriteLine(1. StringName 2.StringName);
これは私のコードです....また、そのような文字列の要素と一緒に要素番号を表示する方法があります
あなたはこのように、配列のサイズを作成するときに変数を置くことができ、次の文字列配列
になりますどのように多くの要素を決定するユーザー入力を取得:
string[] nameOfCountries = new string[someVariable];
someVariable
int
である必要があります。 Console.WriteLine
は文字列を返すので、文字列をintに解析する必要があります。これにはint.Parse
を使用できます。だから、:正しく整数への入力を解析できない場合Parse
が例外をスローすることを
int numberOfCountries = int.Parse(Console.ReadLine());
string[] nameOfCountries = new string[numberOfCountries];
注意。
もあなたは配列に値を代入しているときにあるような同様のループを使用することができ、文字列要素
と一緒に要素番号を表示する方法があります。
Console.WriteLine("{0}: {1}", i, nameOfCountries[i]);
ああ、ありがとう。本当に良い説明。 –
書くとき string [] nameOfCountries =新しい文字列[someVariable]; エラーCS0029で私にメッセージを表示し、intを文字列に変換できません これを解決する方法はありますか? –
@ keanu.b私のコード例では間違いがありました。編集の詳細については、[こちらをご覧ください](http://stackoverflow.com/posts/40643944/revisions)を参照してください。 – vcsjones
プログラム:
string mate = "mate";
Console.WriteLine($"How many countries you want {mate}?");
string numberOfCountries = Console.ReadLine();
int numberOfCountriesInt;
while (!int.TryParse(numberOfCountries, out numberOfCountriesInt))
{
mate = mate.Insert(1, "a");
Console.WriteLine($"How many countries you want {mate}?");
numberOfCountries = Console.ReadLine();
}
Console.WriteLine("Please name your countries ");
string[] namesOfCountries = new string[numberOfCountriesInt];
for (int i = 0; i < namesOfCountries.Length; i++)
{
namesOfCountries[i] = Console.ReadLine();
}
for (int i = 0; i < namesOfCountries.Length; i++)
{
Console.WriteLine($"{i+1}, {namesOfCountries[i]}");
}
出力:
How many countries you want mate?
Two
How many countries you want maate?
Two?
How many countries you want maaate?
2
Please name your countries
Stralya
PNG
1. Stralya
2. PNG
List<string>
は、このようなデータを格納する方が良い場合がありますのでご了承ください。それでは、次のようなことをすることができます:
Console.WriteLine("Please name your countries ");
var namesOfCountries = new List<string>();
for (int i = 0; i < numberOfCountriesInt; i++)
{
namesOfCountries.Add(Console.ReadLine());
}
「string numberOfCountries = Console.ReadLine();」があるとしますか? –
問題が解決した場合は、受け入れられた回答(小さなチェックマーク)として役立つ回答に印を付け、アップヴォートを付けます。 – NikxDa
'List'を使い、リストを完成させるために空白の入力を求める方が簡単で簡単です。 –