2016-06-21 8 views
-3

私はちょうどC#の学習を始めました。ここでは私は立ち往生しています。私はコードで作成したものと似た配列が必要ですが、整数データ型です。このような 何か:int配列内にユーザー入力を格納

int[] answer = new int[a]; 
for (int i = 0; i < answer.Length; i++) 
{ 
    answer[i] = Convert.ToInt32(Console.ReadLine()); 
} 

私は警告メッセージました:

は、 "入力文字列が正しい形式ではありませんでした。"

整数データ型のユーザー入力を配列answerに格納する最も簡単な方法は何ですか?

+2

あなたは試しましたか?int x = Int32.Parse(Console.ReadLine()); ? –

+0

はい、でも同じ警告出力(入力文字列が正しい形式ではありません)が表示されます。 – Adi543

+0

フラグc#を追加します。私はそのような旗があると確信しています。 – user31264

答えて

2

使用int.TryParse:変換が失敗した場合、変換が成功した、またはゼロならば

int[] answer = new int[a]; 
for (int i = 0; i < answer.Length; i++) 
{ 
    int.TryParse(Console.ReadLine(), out answer[i]); 
} 

この方法は、Console.ReadLine()に含まれる数値の32ビット符号付き整数値と同等を返します。したがって、変換が失敗した場合にゼロを返すため、このエラーはもう発生しません。

+0

入力した番号と全く同じ番号が表示されます。あなたのコードは動作します。 – Adi543

-1

学習を始めたばかりなので、コードをできるだけシンプルに保つようにしてください。また、行ごとに1つだけ行うようにしてください。

アレイとコンソール入力から変換して演算を行う簡単な例:値の代入ならびにint.tryParseで行うことができ

 // get user input from console as a string 
     string userInput = Console.ReadLine(); 

     // parse user input into an integer 
     int oneNumber = int.Parse(userInput); 

     //how many numbers will you have? 
     int amountOfNumbers = 10; 

     //declare an array which can hold that many numbers 
     int[] numbers = new int[amountOfNumbers]; 

     //which position to save the userInput number at? 
     int positionToSaveAt = 0; 

     //assign oneNumber to a particular position inside the array 
     numbers[positionToSaveAt] = oneNumber; 
+0

Hmm OPへの簡単な操作を説明しようとすると、明らかに下降音が聞こえますか? – pijemcolu

+0

私は問題はあなたがOPの質問に答えるのではなく、コードを書いているという事実だと思います。彼らが求めるものではありませんでした。 – Draken

0

。この場合、彼らはどちらも私のために正常に動作します。

int[] answer = new int[a]; 
for (int i = 0; i < answer.Length; i++) 
{ 
    array2.SetValue(Convert.ToInt32(Console.ReadLine()), i); 
} 
関連する問題