C# 如何让用户填写数组?

C# 如何让用户填写数组?,c#,C#,我希望用户输入一组ints,然后程序找到最大值。 问题是每次我运行它时它都会崩溃 这是我的代码: public int maximum() { int arrSize = 0; int [] list = new int [arrSize]; Console.Write("how many numbers u want to find the max between them : "); arrSize = Convert.ToInt32(Console.Rea

我希望用户输入一组
int
s,然后程序找到最大值。
问题是每次我运行它时它都会崩溃

这是我的代码:

public int maximum()
{
    int arrSize = 0;
    int [] list = new int [arrSize];

    Console.Write("how many numbers u want to find the max between them : ");
    arrSize = Convert.ToInt32(Console.ReadLine());

    Console.WriteLine("\nplz enter the list of numbers : ");
    for (int j = 0; j < arrSize; j++)
        list[j] = int.Parse(Console.ReadLine());

    int max =  list[0];
    for (int i = 1; i < arrSize;i++ )
       if (list[i] > max) max = list[i];               

    return max;
}
public int max()
{
int arrSize=0;
int[]列表=新int[arrSize];
控制台。写下(“你想找到它们之间的最大值:”);
arrSize=Convert.ToInt32(Console.ReadLine());
Console.WriteLine(“\nLZ输入数字列表:”);
对于(int j=0;jmax)max=list[i];
返回最大值;
}
我已经尝试了
Convert.ToInt16
,我该怎么办


我的评论是正确的。 移动行
int[]list=newint[arrSize]行后
arrSize=Convert.ToInt32(Console.ReadLine())


@有帮助吗:为什么不将此作为答案发布?

您的错误是由于分配了一个0 Len的数组造成的,因为您的程序包含:

int arrSize = 0;
int [] list = new int [arrSize];
当用户输入并进行阵列化时,这不会改变已分配数组的大小,因此,例如,如果用户输入10,则尝试索引access 10循环中的数组元素,而实际上数组大小仅为0,导致索引超出范围异常


此特定问题的解决方案是在
arrSize=Convert.ToInt32(Console.ReadLine())之后使用
arrSize
分配新数组的代码

移动
int[]列表=新的int[arrSize]行后
arrSize=Convert.ToInt32(Console.ReadLine())。目前,您正在尝试为大小为0的数组访问更多元素。正如您所看到的,我投票决定以重复的形式结束此问题。通常,回答这类问题不是为了让用户在提供提示的同时自己学习。这可能就是为什么@Am\u I\u没有回答我看到。。。下次我会记住这一点。谢谢