using System; using System.Collections.Generic; using System.Collections; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication2 { class Program { public ArrayList paixu(ArrayList arr) { for (int i = 0; i < arr.Count - 1; i++) { for (int j = i + 1; j < arr.Count; j++) { if (((student)arr[i]).degree < ((student)arr[j]).degree) { student n = (student)arr[i]; arr[i] = arr[j];//存在集合中的数据类型,电脑默认为object类型,所以当定义一个student类型 的n的变量作为接收 //容器时,必须要将集合里面的类型转化成student类型,才能接收。 arr[j] = n; } } } return arr; } static void Main(string[] args) { Console.Write("请输入人数"); int renshu = int.Parse(Console.ReadLine()); ArrayList arr = new ArrayList(); for (int i = 0; i < renshu ; i++) { student s = new student(); Console.Write("请输入序号:"); s.code = int.Parse(Console.ReadLine()); Console.Write("请输入姓名"); s.name = Console.ReadLine(); Console.Write("请输入分数"); s.degree = double.Parse(Console.ReadLine()); arr.Add(s); } arr = new Program().paixu(arr); foreach (student s in arr)//遍历集合arr中数据类型为student 的s { Console.Write(s.code + " " + s.name + " " + s.degree); Console.WriteLine(); } Console.ReadLine(); } } } using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication2 { class student { public int code; public string name; public double degree; } }