错误C#:索引超出范围。必须为非负数且小于集合的大小
我在for循环中创建对象并将其添加到列表中时遇到问题。这个程序以“你想添加多少”开头,无论我写什么,它都会向我显示一条消息:索引超出范围。必须为非负数且小于集合的大小。 出了什么问题?很抱歉,如果还有其他类似的问题,但我找不到答案。 谢谢大家!错误C#:索引超出范围。必须为非负数且小于集合的大小,c#,outofrangeexception,C#,Outofrangeexception,我在for循环中创建对象并将其添加到列表中时遇到问题。这个程序以“你想添加多少”开头,无论我写什么,它都会向我显示一条消息:索引超出范围。必须为非负数且小于集合的大小。 出了什么问题?很抱歉,如果还有其他类似的问题,但我找不到答案。 谢谢大家! using System; using System.Collections.Generic; class Animals { public int id { get; set; } public string name {
using System;
using System.Collections.Generic;
class Animals
{
public int id { get; set; }
public string name { get; set; }
public string color { get; set; }
public int age { get; set; }
}
class Program
{
static void Main(string[] args)
{
Console.Write("How much animals you want to add?: ");
int count = int.Parse(Console.ReadLine());
var newAnimals = new List<Animals>(count);
for (int i = 0; i < count; i++)
{
newAnimals[i].id = i;
Console.Write("Write name for animal " + i);
newAnimals[i].name = Console.ReadLine();
Console.Write("Write age for animal " + i);
newAnimals[i].age = int.Parse(Console.ReadLine());
Console.Write("Write color for animal " + i );
newAnimals[i].color = Console.ReadLine();
}
Console.WriteLine("\nAnimals \tName \tAge \tColor");
for (int i = 0; i < count; i++)
{
Console.WriteLine("\t" + newAnimals[i].name + "\t" + newAnimals[i].age + "\t" + newAnimals[i].color);
}
Console.ReadLine();
}
}
使用系统;
使用System.Collections.Generic;
类动物
{
公共int id{get;set;}
公共字符串名称{get;set;}
公共字符串颜色{get;set;}
公共整数{get;set;}
}
班级计划
{
静态void Main(字符串[]参数)
{
控制台。写(“你想添加多少动物?:”;
int count=int.Parse(Console.ReadLine());
var newanives=新列表(计数);
for(int i=0;i
var newanives=new List(内部数据结构在不调整大小的情况下可容纳的元素总数)
正如在关于此构造函数的文章中所述:
初始化列表类的新实例,该实例为空且具有
指定的初始容量
您需要使用方法将元素添加到列表中
newAnimals.Add (new Animal() {id = 1, name = "name"});
var newanives=newlist(内部数据结构在不调整大小的情况下可容纳的元素总数)
正如在关于此构造函数的文章中所述:
初始化列表类的新实例,该实例为空且具有
指定的初始容量
您需要使用方法将元素添加到列表中
newAnimals.Add (new Animal() {id = 1, name = "name"});
由于您没有将任何项目添加到列表newAnimals
,因此该列表为空,因此索引0中没有任何项目
创建Animal
的一个实例,然后添加它(我重命名了类名,因为它是单数):
在此之后,您可以检索索引0处的项目。因为您没有向列表添加任何项目newAnimals
,所以它是空的,因此索引0上没有项目
创建Animal
的一个实例,然后添加它(我重命名了类名,因为它是单数):
在此之后,您可以在索引0处检索项目。如果您知道初始(和最终)大小,也可以使用Animals[]
。然后,您可以按照自己的方式(通过索引)初始化数组。如果以后可以更改大小,则应使用列表
和列表。添加
以添加元素。如果知道初始(和最终)大小,也可以使用动物[]
。然后,您可以按照自己的方式(通过索引)初始化数组。如果以后可能会更改大小,则应使用列表
和列表。添加
来添加元素。