lwj_C#_作业 List<T>应用

来源:互联网 发布:花生壳域名打不开 编辑:程序博客网 时间:2024/05/01 01:03
List<Student> stus = new List<Student> ();
            while (true) {
                Student stu = new Student ();
                Console.WriteLine ("请输入学号:");
                stu.no = int.Parse (Console.ReadLine ());
                Console.WriteLine ("请输入姓名:");
                stu.name = Console.ReadLine ();
                Console.WriteLine ("请输入成绩:");
                stu.score = float.Parse (Console.ReadLine());

                //将录入的stu对象放入list中
                stus.Add (stu);

                Console.WriteLine ("按空格键结束");
                ConsoleKeyInfo key = Console.ReadKey ();
                if (key.Key == ConsoleKey.Spacebar) {
                    break;
                }
            }

            //排序
            stus.Sort ();

//            for (int i = 0; i < stus.Count-1; i++) {
//                for (int j = 0; j < stus.Count-1-i; j++) {
//                    if(stus[j].score>stus[j+1].score){
//                        Student temp = stus [j];
//                        stus [j] = stus [j + 1];
//                        stus [j + 1] = temp;
//                    }
//                }
//            }

            foreach (var item in stus) {
                Console.WriteLine ("学号:"+item.no+" 姓名:"+item.name +" 成绩:"+item.score);

            }



    public class Student:IComparable
    {
        

        public int CompareTo (object obj)
        {
            Student temp = obj as Student;
            Console.WriteLine ("比较:"+this.score.CompareTo (temp.score));
            return this.score >= temp.score ? -1 : 1;
        }

        public int no;
        public string name;
        public float score;
        public Student ()
        {
        }
    }