无法将字符串数组的类型 'int' 隐式转换为 'string'
Cannot implicitly convert type 'int' to 'string' for a string array
我正在尝试为我的编码做一个作业 class,我对此很陌生。我的 class 希望有人从用户输入中将 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 值,但它不允许。有什么理由吗?请让我知道并理解我对此很陌生。
这是因为你的数组的数据类型是类型 string
并且在你的用户输入中,你试图将它转换为 int
所以你肯定会遇到异常
由于您使用的是 "请在此处输入数字:" 在您的输出中,您可以将数组类型设为 int
int[] numbers = new int[6];
int i = 1;
while (i <= 5)
{
Console.Write("Please enter a number here:");
numbers[i] = Convert.ToInt32(Console.ReadLine());
i++;
}
您正在尝试将数据类型为字符串的输入转换为 int 数据类型。
将数字数组数据类型从字符串更改为整数。
int[] numbers = new int[6];
我还会通过 Int32.TryParse 添加检查以查看用户的输入是否确实是数字。
此函数将尝试将字符串(第一个参数)转换为其 32 位带符号整数表示形式的数字,并 returns 指示转换是否成功的布尔值。
string value = Console.ReadLine();
int number;
bool success = Int32.TryParse(value, out number);
if (success)
{
numbers.Add(number);
}
我正在尝试为我的编码做一个作业 class,我对此很陌生。我的 class 希望有人从用户输入中将 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 值,但它不允许。有什么理由吗?请让我知道并理解我对此很陌生。
这是因为你的数组的数据类型是类型 string
并且在你的用户输入中,你试图将它转换为 int
所以你肯定会遇到异常
由于您使用的是 "请在此处输入数字:" 在您的输出中,您可以将数组类型设为 int
int[] numbers = new int[6];
int i = 1;
while (i <= 5)
{
Console.Write("Please enter a number here:");
numbers[i] = Convert.ToInt32(Console.ReadLine());
i++;
}
您正在尝试将数据类型为字符串的输入转换为 int 数据类型。 将数字数组数据类型从字符串更改为整数。
int[] numbers = new int[6];
我还会通过 Int32.TryParse 添加检查以查看用户的输入是否确实是数字。
此函数将尝试将字符串(第一个参数)转换为其 32 位带符号整数表示形式的数字,并 returns 指示转换是否成功的布尔值。
string value = Console.ReadLine();
int number;
bool success = Int32.TryParse(value, out number);
if (success)
{
numbers.Add(number);
}