【C#】入力された複数の値からスペースを除去してそれぞれ格納する方法【Splitメソッド】

IT

こんにちは、C#勉強中のうなうなです。

AtCorderの初心者用問題とかによくある、

コンソールに”A B”と打ち込んだときに次の行にCを表示せよ、みたいな処理。

例)「10 20」と入力されたときに次の行にそれらの和を表示せよ

このとき、この和を計算する処理自体は簡単なんですけど・・・

初心者にとって微妙に難関なのがこの「A B」の一行をいかに変数に代入するのか?なのです。

本記事ではその方法をメモしておきます。

初心者にとって難しい部分(読み飛ばしても大丈夫です)

いや、これが
A
B
と入力したときに次の行にCを出力せよ、なら簡単なんですよ!
単純に↓こんな学習1日目に勉強するようなコマンドだけで書けるので!

int a = Convert.ToString(Console.ReadLine());
int b = Convert.ToString(Console.ReadLine());
int c = a+b;
Console.WriteLine(c);

ただ、そいつらがA B←こう横になった途端しんどくなるんですよ!!笑

Splitメソッドを使ってスペースを除去して1つづつ変数に格納する方法

色々回り道はしましたが、↓このように書けば動いてくれました。

//一旦、入力された値を取り込む
string number = Console.ReadLine();

//セパレーターとして' '(スペース一個)を定義
char separator = ' ';

//numberをセパレーターで分割して、値をそれぞれ配列arrayに入れる
string[] array = number.Split(separator);

//型変換して変数aとbに入れる
int a = Convert.ToInt32(array[0]);
int b = Convert.ToInt32(array[1]);

//計算
int c = a + b;

//出力
Console.WriteLine(c);

Splitメソッドなるものがあって、それを使うと1つ1つ分割してくれるんですね・・・!

てか、そんな簡単なことかよ・・・!!あんなに悩んだのに・・・笑

まあ、ということで、今日も新しいことを学べて良かったです。

もし同じ部分で苦しんでいる初心者がいたら参考になれば幸いです!

それでは、また!

タイトルとURLをコピーしました