【发布时间】:2019-03-08 23:40:31
【问题描述】:
我创建了一个“Person”类,我想做一个while循环让用户添加对象直到他们想要停止,但它不起作用。
我认为问题在于我不知道如何从列表中创建新对象,但我不确定。
这是我的代码:
static void Afficher(List <Personne> maliste)
{
foreach (var per in maliste)
{
per.ToString();
}
}
static void Ajouter(List<Personne> maliste)
{
string s;
bool stop = false;
int i = 0;
while(!stop)
{
Console.WriteLine("Entrez les informations ou entrez pour terminez!!");
Console.WriteLine("Entrez le nom de la personne numero "+ (i+1));
s = Console.ReadLine();
if (s == "") break;
maliste[i] = new Personne();
maliste[i].nom = s;
Console.WriteLine("Entrez le prenom de la personne numero " + (i + 1));
s = Console.ReadLine();
if (s == "") break;
maliste[i].prenom = s;
Console.WriteLine("Entrez l'age de la personne numero " + (i + 1));
s = Console.ReadLine();
if (s == "") break;
maliste[i].age = int.Parse(s);
i++;
}
}
maliste[i] = new Personne(); 行发生错误:
ArgumentOutOfRangeException:索引超出范围。必须为非负数且小于集合的大小。
【问题讨论】:
-
Somewhere 基于您想要将
stop设置为 true 以跳出循环的内容。您还希望对it doesn't work更加清楚 -
@MakeStackOverflowGoodAgain 不,他们有
break在几个错误格式的if检查 - 所以一切都很好(while(true)会更好,但是......)
标签: c#