我想知道如何将多个列表以一定的间距放置在没有间距的列中,使它们看起来像无边界表格
var visitorsName = new List<string>();
var visitorsAge = new List<int>();
var visitorsMark = new List<int>();
for (var number = 1; number <= noOfVisitors; number++)
{
Console.Write("Hi, please type the student's name: ");
var studentName = Console.ReadLine();
visitorsName.Add(studentName);
Console.Write("Please type the student's age: ");
var studentAge = Convert.ToInt32(Console.ReadLine());
visitorsAge.Add(studentAge);
Console.Write("Please type his/her mark: ");
var studentMark = Convert.ToInt32(Console.ReadLine());
visitorsMark.Add(studentMark);
}
请原谅我在变量命名方面的不一致之处
答案 0 :(得分:1)
我将创建一个具有所需属性的Student
类,而不是为每个属性使用不同的列表:
class Student
{
public string Name { get; }
public int Age { get; }
public int Mark { get; }
public Student(string name, int age, int mark)
{
Name = name;
Age = age;
Mark = mark;
}
}
现在您只可以列出Student
个列表:
List<Student> students = new List<Student>
{
new Student("Student 1", 15, 73),
new Student("Student 2", 14, 85)
};
您将要从控制台输入中创建它们,但是为了简洁起见,我刚刚使用一些虚拟数据初始化了列表。
然后只需遍历列表并编写伪列的值即可。
foreach (Student student in students)
{
Console.WriteLine("{0,-20}{1,-5}{2,-3}", student.Name, student.Age, student.Mark);
}
那应该给你看起来像这样的东西
Student 1 15 73
Student 2 14 85