【发布时间】:2020-04-05 16:54:08
【问题描述】:
我创建了一个数据类型“Person”的数组。我试图让“ReadPerson()”方法返回 3 个“Person”对象。通过返回我的数组'personen',我得到错误“无法将类型'Persoon []'转换为'Personen'。我对编程很陌生,所以我仍然不确定如何正确使用数组和结构。我试过返回personen [i],但是'i'当然会在for循环之外未定义。我如何返回'Person'的3个对象?
Persoon ReadPerson()
{
Persoon[] personen = new Persoon[3];
for (int i = 0; i < personen.Length; i++)
{
personen[i].FirstName = LeesString("Enter first name: ");
personen[i].SecondName = LeesString("Enter second name: ");
personen[i].Residence = LeesString("Enter residence: ");
personen[i].Age = LeesInt("Enter age: ", 0, 120);
personen[i].Gender = LeesGeslacht("Enter gender (m/f): ");
Console.Write("\n");
}
return personen[i];
}
void PrintPerson(Persoon p)
{
Console.Write("\n");
Console.Write(p.FirstName + " " + p.SecondName + " ");
PrintGeslacht(p.Gender);
Console.Write("\n");
Console.WriteLine("{0} jaar, {1}", p.Age, p.Residence);
}
struct Persoon
{
public string FirstName;
public string SecondName;
public string Residence;
public int Age;
public GeslachtType Gender;
}
【问题讨论】:
-
您需要将
return放在循环之外。无论如何,这样会导致您的方法在第一次迭代时结束。 -
没有。请仔细阅读。
-
“我试图让这个方法返回 3 个整数中的每一个。” 然后写
return personen[i];这不是这样做的方法。 -
您的问题已经得到解答,但我想提供一些建议。我看到你正在用荷兰语编程,我建议不要这样做。我建议用英文编写所有代码,因为框架本身也是英文的。这样你就得到了荷兰语和英语的结合,这在生产中是不可行的。
-
我试图让这个方法返回 3 个整数中的每一个。 - 这没有意义。您是否要返回三个
Persoon对象?如果是这样,那么@dunnel123 的答案就是您要找的答案。
标签: c#