using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ovning_grunder5._1
{
class Program
{
static void Main(string[] args)
{
string input;
int[] tal1;
int i = 0;
int count = 0;
int large = 0;
Console.WriteLine("Mata in tal och avsluta med 0");
input = Console.ReadLine();
while (input != "0")
{
tal1[i] = Convert.ToInt32(input); //Error Occurres here after the second input is given.
input = Console.ReadLine();
i++;
Console.WriteLine(tal1[i]);
}
while (tal1[count] <= i)
{
if (tal1[count] < large)
{
large = tal1[count];
}
count++;
}
}
}
}
当我运行程序时,我在程序中添加输入中断并提供错误"An unhandled exception of type 'System.IndexOutOfRangeException' occurred."
有没有人知道如何解决这个问题?
答案 0 :(得分:0)
如果你知道你需要的数组大小,那么先用下面的大小初始化
int[] tal1 = new int[10];
否则您可以使用List<int>
List<int> tal1 = new List<int>();
while (input != "0")
{
tal1.Add(Convert.ToInt32(input));
input = Console.ReadLine();
}
large = tal1.Max();
答案 1 :(得分:0)
您将tal1声明为数组,但您永远不会初始化它。我建议在这里使用通用列表而不是数组:
var tal1 = new System.Collections.Generic.List<int>();