c# - 无法将字符串数组的类型“int”隐式转换为“string”
问题描述
我正在尝试为我的编码课做作业,我对此很陌生。我的班级希望有人从用户输入中将 5 个值输入到数组中。语句必须在 while 循环中。
这是我的代码
static void Main(string[] args)
{
string[] numbers = new string[6];
int i = 1;
while (i <= 5)
{
Console.Write("Please enter a number here:");
numbers[i] = Convert.ToInt32(Console.ReadLine());
i++;
}
}
}
}
错误发生在
numbers[i] = Convert.ToInt32(Console.ReadLine());
我正在尝试将用户输入转换为 int 值,但它不允许我这样做。有什么理由吗?请让我知道并理解我对此真的很陌生。
解决方案
您正在尝试将数据类型为字符串的输入转换为 int 数据类型。将 numbers 数组数据类型从 string 更改为 int。
int[] numbers = new int[6];
我还将通过 Int32.TryParse 添加一个检查以查看来自用户的输入是否确实是一个数字。
此函数将尝试将字符串(第一个参数)转换为 32 位有符号整数表示形式的数字,并返回一个布尔值,指示转换是否成功。
string value = Console.ReadLine();
int number;
bool success = Int32.TryParse(value, out number);
if (success)
{
numbers.Add(number);
}
推荐阅读
- go - Go 允许算术运算溢出而不是抛出异常是预期的行为吗?
- c# - LINQ 查询将两个表连接在一起以返回错误的值
- acumatica - Import of client scenarios
- r - 错误:找不到所需的包 curl。请运行: install.packages('curl') Travis CI 上的执行停止
- node.js - 类型错误:notes.push 不是函数
- angular - CORS policy when deleting an item
- python - Pygame击键事件没有发生
- php - How to test if a category already exists? PrestaShop
- reactjs - static website hosted in s3: pages return 404 after refresh
- php - Laravel 单元测试未在 Windows 上运行