|
分類:[C#]
コンソールからの入力で2つの整数を取得するために、 下記のように、2行に渡って取得するのは、コンソール画面の見栄えがよくないので、
Console.WriteLine("何行何列ですか?"); int gyou = Convert.ToInt32(Console.ReadLine()); int retu = Convert.ToInt32(Console.ReadLine());
なんとか、ユーザーに2,3のように1行で入力してもらって、 gyouには2をretuには3を保存するために、ヘルプを読みまくって、 見よう見まねで下記のような結論を出して、コードをかきあげたのですが、
string buf = Console.ReadLine(); string [] split = buf.Split(new Char [] {','}); int gyou = Convert.ToInt32(split[0]); int retu = Convert.ToInt32(split[1]);
自分で打っておいてなんなんですが、 string [] split = buf.Split(new Char [] {','});の部分の意味がいまいちわかりません。 普通配列を宣言・初期化するときは、 string[] split = new buf[要素数]{初期値, ・・・}; でしますよね? なんで、buf.Split(new Char[] { ',' });でsplitの宣言・初期化できるのか? また、なんで、new Char [] {','}と、Char型の配列を、string型の配列に代入出来ているのかがわかりません。 どなたか、この疑問に答えてはいただけないでしょうか?
また、上記回答の他にもっとよい書き方があったら教えていただきたいです。 よろしくお願いします。
|