Foreach循环没有执行

本文关键字:执行 循环 Foreach | 更新日期: 2023-09-27 18:17:05

我发现了一个类似的解决方案,我试图跟进,但仍然未能解决。

我已经创建了一个学生类与公共属性First_Name &Last_Name。然后使用数组列表,我想得到&打印每个学生的详细信息。但是在执行代码之后,我得到的是空的控制台窗口。当我使用断点运行代码时,我看到代码流没有进入foreach循环。请帮帮我....

ArrayList studentList = new ArrayList();
    public void getStudent()
    {
        foreach (Student student in studentList)
        {
            Console.Write("Enter Your First Name: ");
            student.First_Name = Console.ReadLine();
            Console.Write("Enter Your Last Name: ");
            student.Last_Name = Console.ReadLine();
        }
    }
    public void printStudentInformation()
    {
        foreach (Student student in studentList)
        {
            Console.WriteLine("-----------------------");
            Console.WriteLine("Name Of The Student Is {0} {1}", student.First_Name, student.Last_Name);
            Console.WriteLine("-----------------------");
        }
    }  

Foreach循环没有执行

当您第一次运行代码时,studentList中没有学生,getStudent中的foreach将不会执行。创建新的Student类实例,然后将FirstNameLastName存储在学生对象中,并将学生对象添加到studentList数组中。

public void getStudent()
{
    var student = new Student();
    Console.Write("Enter Your First Name: ");
    student.First_Name = Console.ReadLine();
    Console.Write("Enter Your Last Name: ");
    student.Last_Name = Console.ReadLine();
   studentList.Add(student);
}

在使用foreach显示值之前,您必须填充列表。为此,您可以使用以下代码。然后为每个应用您的应用程序来显示内容。因此,方法签名必须按如下方式更改:

public void getStudent()
    {
      List<Student> StudentList = new List<Student>();
      string nextVal = "y";
      while (nextVal == "N")
        {
           var student = new Student();
           Console.Write("Enter Your First Name: ");
           student.First_Name = Console.ReadLine();
           Console.Write("Enter Your Last Name: ");
           student.Last_Name = Console.ReadLine();
           StudentList.Add(student);
           Console.Write("Do you wnat to add more data(Y/N)");
           nextVal = Console.ReadKey().ToString();
        }
  }