在int数组中存储用户输入

时间:2016-06-21 10:25:26

标签: c# arrays input int

我刚开始学习C#,这就是我被卡住的地方。我需要一个类似于我在代码中制作的数组,但是使用整数数据类型。 像这样:

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

我收到了警告信息:

  

“输入字符串的格式不正确。”

将整数数据类型中的用户输入存储在数组answer中的最简单方法是什么?

3 个答案:

答案 0 :(得分: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位有符号整数值,如果转换失败,则返回零。因此,您不再获得该错误,因为如果转换失败,它将返回零。

答案 1 :(得分:0)

你可以使用SetValue和int.tryParse。在这种情况下,他们都适合我。

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

答案 2 :(得分:-1)

很明显,你刚刚开始学习,你应该尽量保持你的代码尽可能简单,你应该总是尝试每行只做一件事。

使用数组执行操作和从控制台输入转换的简单示例:

        // 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;