我刚开始学习C#,这就是我被卡住的地方。我需要一个类似于我在代码中制作的数组,但是使用整数数据类型。 像这样:
int[] answer = new int[a];
for (int i = 0; i < answer.Length; i++)
{
answer[i] = Convert.ToInt32(Console.ReadLine());
}
我收到了警告信息:
“输入字符串的格式不正确。”
将整数数据类型中的用户输入存储在数组answer
中的最简单方法是什么?
答案 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;