基本上我在这里要做的是创建我自己的结构,并通过接受用户输入,将它添加到列表中,然后以不同方式(ID等)对它进行排序来利用它。列表和排序
我认为我正确地创建了这个结构,但我无法弄清楚如何比较这两个学生实例,通过ID对它们进行排序,并将它们打印出来(以ID排序的方式)到控制台。
任何想法?我想我正朝着正确的方向前进。
namespace App26
{
public struct Student
{
public String first, last;
public double ID;
public Student(String first, String last, double ID)
{
this.first = first;
this.last = last;
this.ID = ID;
}
}
class IDCompare : IComparer<Student>
{
public int Compare(Student a, Student b)
{
return a.first.CompareTo(b.f);
}
}
class Program
{
static void Main(string[] args)
{
String firstname, lastname, first, last;
double num, IDnum;
//First person
Console.WriteLine("Please enter first name");
firstname = Console.ReadLine();
Console.WriteLine("Please enter last name");
lastname = Console.ReadLine();
Console.WriteLine("Please enter ID");
IDnum = Convert.ToDouble(Console.ReadLine());
Console.WriteLine();
//Second Person
Console.WriteLine("Please enter first name");
first = Console.ReadLine();
Console.WriteLine("Please enter last name");
last = Console.ReadLine();
Console.WriteLine("Please enter ID");
num = Convert.ToDouble(Console.ReadLine());
Console.WriteLine();
List<Student> list = new List<Student>();
Student person1 = new Student(firstname, lastname, IDnum);
//Student person2 = new Student(first, last, num);
list.Add(person1);
list.Add(person2);
list.Sort();
foreach (Student i in list)
Console.WriteLine(i);
}
}
}
感谢你们两位的帮助:)我设法让ID工作,并实施我需要的其他方法。变成var sortedEnumerable = list.OrderBy(p => p.ID);工作得很好:D – user1780149