【C#】標準入力でスペース区切りで入力する
C#における標準入力は、以下のように書く。
using System;
class Program
{
static void Main(string[] args)
{
int a;
a = int.Parse(Console.ReadLine()); //標準入力
}
}
どこの入門サイトでもこう書いているだろう。
ReadLine()はstring型であることを注意したい。そのため、Parseは、数値変換を行っている。だから型キャストは、intである。
しかし、このままだと、引数a, bを入力したいとき、いちいち改行して入力しなければならないのだ。
例えば、
2 3
のようにスペースで区切りたいと私は考えたのだ。
しかし、どれだけググってもいい文献は出てこなかった。
そこで下記のように書くとうまくいくとわかったので、備忘録として書いておく。
using System;
class Program
{
static void Main(string[] args)
{
int a,b;
string[] str = Console.ReadLine().Split(' ');//2つ以上のスペース区切り入力の取得
a = int.Parse(str[0]); //数値で受け取りたい場合は変換する
b = int.Parse(str[1]);
Console.WriteLine("a = {0} b = {1}", a, b);
}
}
Splitを繋げてやるとうまくいくということが分かりました。

