C# 使用拆分方法读取单行中的多个整数时出错

C# 使用拆分方法读取单行中的多个整数时出错,c#,split,C#,Split,从用户处读取整数时,使用Split时出错 int[] a = new int[s]; for (i = 0; i < s; i++) { a[i] = Int32.Parse(Console.ReadLine().Split(' ')); } int[]a=新的int[s]; 对于(i=0;i

从用户处读取整数时,使用
Split
时出错

 int[] a = new int[s];
        for (i = 0; i < s; i++)
        {
            a[i] = Int32.Parse(Console.ReadLine().Split(' '));
        }
int[]a=新的int[s];
对于(i=0;i

您能否帮助我如何使用
Split

因为Split返回一个数组,每次需要i'ed数组时,您都应该这样更改它:

 int[] a = new int[s];
 string[] input = Console.ReadLine().Split(' ');

 for (i = 0; i < s; i++)
 {
    a[i] = Int32.Parse(input[i]);
 }
int[]a=新的int[s];
string[]input=Console.ReadLine().Split(“”);
对于(i=0;i
顺便说一句,您只需要读取一次输入。 比如@loneshark99说使用TryParse()会更好。因为它返回一个布尔值,所以可以检查输入是否确实是整数。如果您只使用Parse,而它们不是整数,则会引发异常

使用TryParse()进行编码:

int[]a=新的int[s];
string[]input=Console.ReadLine().Split(“”);
对于(i=0;i

if语句不是必需的,但它只是指出如何使用TryParse。

因为split返回一个数组,每次需要i'ed数组时,都应该这样更改它:

 int[] a = new int[s];
 string[] input = Console.ReadLine().Split(' ');

 for (i = 0; i < s; i++)
 {
    a[i] = Int32.Parse(input[i]);
 }
int[]a=新的int[s];
string[]input=Console.ReadLine().Split(“”);
对于(i=0;i
顺便说一句,您只需要读取一次输入。 比如@loneshark99说使用TryParse()会更好。因为它返回一个布尔值,所以可以检查输入是否确实是整数。如果您只使用Parse,而它们不是整数,则会引发异常

使用TryParse()进行编码:

int[]a=新的int[s];
string[]input=Console.ReadLine().Split(“”);
对于(i=0;i

if语句不是必需的,但它只是指出如何使用TryParse。

LINQ在这里确实可以帮助您:

int[] a = Console.ReadLine().Split(' ').Select(int.Parse).ToArray();

LINQ真的可以在这里帮助您:

int[] a = Console.ReadLine().Split(' ').Select(int.Parse).ToArray();

我们可以先将输入作为字符串

   string[] array_temp = Console.ReadLine().Split(' ');
然后将数组转换为Int

   int[] array = Array.ConvertAll(array_temp,Int32.Parse);

我们可以先将输入作为字符串

   string[] array_temp = Console.ReadLine().Split(' ');
然后将数组转换为Int

   int[] array = Array.ConvertAll(array_temp,Int32.Parse);

错误是什么?用户输入是什么样子的?“1 2 3 4 5”?此代码的用途是什么?是否要调用Console.ReadLine()的次数?一个样本输入和预期输出将不胜感激@代码学徒:它在拆分方法附近给了我一个重载错误。请你的问题显示准确的错误消息。错误是什么?用户输入看起来像什么?“1 2 3 4 5”?此代码的用途是什么?是否要调用Console.ReadLine()的次数?一个样本输入和预期输出将不胜感激@“代码学徒”在split方法附近给了我一个重载错误。请您的问题显示准确的错误消息。您可能应该使用TryParse方法,而不是Parse方法,因为它是用户输入。我还将拆分移到循环之外,这样您就不会拆分字符串s次。@loneshark99我将其添加到解决方案中。。)您可能应该使用TryParse方法,而不是Parse方法,因为它是用户输入。我还将拆分移到循环之外,这样您就不会拆分字符串
s
次。@loneshark99我将其添加到解决方案中。。)