我创建了一个数据类型为“ Persoon”的数组。我正在尝试获取方法'ReadPerson()'以返回'Persoon'的3个对象。通过返回数组“ personen”,我收到错误消息“无法将类型'Persoon []'转换为'Persoon'。我对编程很陌生,所以我仍然不确定如何正确使用数组和结构。我尝试过返回personen [i],但在for循环之外当然不会定义“ i”,我该如何返回“ Persoon”的3个对象?(personen [1],personen [2],personen [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;
}
答案 0 :(得分:4)
目前,您的for循环只会执行一次,然后返回第一个人。
您将收到“并非所有代码路径都返回值”错误,因为这正是发生的情况,方法的路径没有返回就结束了,但是方法签名需要返回类型。
您似乎想要这样的东西-
POST