如何显示while循环中输入的每个课程?C#

如何显示while循环中输入的每个课程?C#,c#,C#,我不确定如何显示用户输入的每个课程。仅显示最后输入的课程。我在想什么 while (quit != "0") { //get user data Console.WriteLine("Enter course # {0}:", counter); course = Console.ReadLine(); Console.WriteLine("Enter grade value of 1-4 # {0}:", counter); grade = Conve

我不确定如何显示用户输入的每个课程。仅显示最后输入的课程。我在想什么

while (quit != "0")
{
    //get user data
    Console.WriteLine("Enter course # {0}:", counter);
    course = Console.ReadLine();

    Console.WriteLine("Enter grade value of 1-4 # {0}:", counter);
    grade = Convert.ToInt32 (Console.ReadLine());

    Console.WriteLine("Enter credit hours from 1-3 # {0}:",counter);
    creditHours = Convert.ToInt32 (Console.ReadLine());


    //calculate grade * creditHours and store in gradePoints
    gradePoints = grade * creditHours;

    //running total of credit hours and grades
    totalGradePoints += gradePoints;
    totalCreditHours += creditHours;

    Console.WriteLine("Press '0' to quit or any key to continue.");
    quit = Console.ReadLine();
    counter++;// adds one to counter

}//end while

// calculate gpa
double GPA = totalGradePoints / totalCreditHours;

//display course(s) credit hours and gpa
Console.WriteLine("Course(s): {0}", course);
Console.WriteLine("Credit hours: {0}",totalCreditHours);
Console.WriteLine("GPA: {0:n2}",GPA);
你得走了

 Console.WriteLine("Course(s): {0}", course);
while
循环中。仅在循环结束后才显示它。这就是你看到最后一道菜的原因

如果不想立即显示它们,则将课程存储到集合中,并在
之后迭代集合,而
循环并显示它们:

var courses = new List<string>();
while(...)
{
     ...
     course = Console.ReadLine();
     courses.Add(course);
     ...
}

foreach(var c in courses)
     Console.WriteLine(c);
var课程=新列表();
而(…)
{
...
course=Console.ReadLine();
课程。添加(课程);
...
}
foreach(课程中的var c)
控制台写入线(c);

您正在
循环中设置变量,因此循环的每次迭代都会覆盖相同的变量

相反,尝试使用一个对象或数组,这两个数组都可以保存多个值,并考虑为数据创建<代码>类< /代码>,因为它们都是关联的:

class CourseData
{
    public string Course { get; set; }
    public int Grade { get; set; }
    public nt CreditHours { get; set; }
    public int GradePoints { get { reutrn Grade * CreditHours; } }
}

步骤1:将课程存储在集合中…或
Console.WriteLine(“课程:{0}”,String.Join(“,”,courses.ToArray())我觉得这很有帮助,但我没有代表投票,所以谢谢。