前提・実現したいこと
標準入力から空白を含む数値をStringで受け取り、空白で分割し、配列に格納します。
それを数値intに変換するために上記の配列と同じ数の配列を作成したいです。
今回は入力値を"1 2"としますが、本来数値とその個数は不明とします。
試したもの
C#
1var line = "1 2"; 2//本来であれば var line = System.Console.ReadLine(); 3 4string[] data = line.Split(' '); 5 6int[] num = new int[data.Length]; 7 8for (int i = 0; i < data.Length; i++){ 9 10num[i] = int.Parse(data[i]); 11 12}
としたところ
C#
1int[] num = new int[data.Length];
の部分でエラーが返ってきました。この部分を
C#
1int[] num = new int[2];
とすると、今回の例に限っては正常に動くのでdata.Lengthの部分が不適切であったのだと思います。
C#
1for (int i = 0; i < data.Length; i++){
の部分でdata.Lengthが数値として使えるので同じように使えると思っていましたが、違うようでした。
本題
今回のように入力されたものを空白で分割し、配列に格納したとき、その個数が不明の場合、
同じ個数の配列を作成したいときはどのようにすればよかったのでしょうか。
もしかするとStringをintに変換する方法としてはとても遠回りな方法であるかもしれませんが、このあたりの基礎をしっかり把握したいので、
できるだけ元の形に添った回答をよろしくお願いいたします。
初心者であるためもし、質問が意味不明であればご指摘ください。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。