C# 是否可以在循环中自动声明变量?C

C# 是否可以在循环中自动声明变量?C,c#,arrays,loops,variables,C#,Arrays,Loops,Variables,我正在做学校作业。我有一个名为Person的类,使用这个类,用户必须向Person类的对象添加一个名称,他的姓氏等等。我在想,是否有可能在循环中自动定义变量?我有一个用户输入个人数据的循环。循环将如下所示: for (int n = 0; n < 20; n++) { Console.WriteLine("Input name of person no. {0}: ", n); name = Console.ReadLine(); Console.Write

我正在做学校作业。我有一个名为Person的类,使用这个类,用户必须向Person类的对象添加一个名称,他的姓氏等等。我在想,是否有可能在循环中自动定义变量?我有一个用户输入个人数据的循环。循环将如下所示:

for (int n = 0; n < 20; n++)
   {
    Console.WriteLine("Input name of  person no. {0}: ", n);
    name = Console.ReadLine();
    Console.WriteLine("Input surname of person no. {0}", n);
    surname = Console.ReadLine();

    Person pers+n = new Person(name, surname);
    arr[n] = pers+n;
   }
所以变量的声明类似于pers+n。我不知道如何以相反的方式在这个循环中定义Person对象。谢谢

您可以使用

for (int n = 0; n < 20; n++)
   {
    Console.WriteLine("Input name of  person no. {0}: ", n);
    name = Console.ReadLine();
    Console.WriteLine("Input surname of person no. {0}", n);
    surname = Console.ReadLine();

    Person pers = new Person(name, surname);
    arr[n] = pers;
   }

添加一个类以容纳一组人员

public class Persons: List<Person> {} 

集合中的个人对象可以像数组persons[index]一样进行访问。

SimpleVar回答了我的问题。谢谢 解决方案:

for (int n = 0; n < 20; n++)
{
Console.WriteLine("Input name of  person no. {0}: ", n);
name = Console.ReadLine();
Console.WriteLine("Input surname of person no. {0}", n);
surname = Console.ReadLine();

Person pers = new Person(name, surname);
arr[n] = pers;
}
我尝试一个列表对象

         List<Person> people = new List<Person>();
         for (int n = 0; n < 20; n++)
         {
            Console.WriteLine("Input name of  person no. {0}: ", n);
            name = Console.ReadLine();
            Console.WriteLine("Input surname of person no. {0}", n);
            surname = Console.ReadLine();

            Person newPerson = new Person(name, surname);
            people.Add(newPerson);
         }

当然,只要继续:string name=您认为我在创建第n个人,但您不是。你只需要创建一个人,然后将其放在数组的第n位。也许我没把你弄对这是我的错answer@Eldeniz别小气,我们帮了他。@SimpleVar我同意你的看法,但我希望他接受我的回答
         List<Person> people = new List<Person>();
         for (int n = 0; n < 20; n++)
         {
            Console.WriteLine("Input name of  person no. {0}: ", n);
            name = Console.ReadLine();
            Console.WriteLine("Input surname of person no. {0}", n);
            surname = Console.ReadLine();

            Person newPerson = new Person(name, surname);
            people.Add(newPerson);
         }