static void Main(string[] args) { new Class1().testKim(); Console.WriteLine("------------------"); Student[] sts = //创建学生数组 { new Student("zhangsan", 90), new Student("lisi", 100), new Student("wangwu", 189), new Student("wanger", 69), }; //创建委托对象mx,关联静态方法student.max xnDelegate mx = new xnDelegate(Student.max); Student maxst; maxst = sts[0]; sts[0].showInfo(); //利用fun()方法求成绩最好的学生和成绩最差的学生 for (int i = 1; i <= sts.Length - 1; i++) { sts[i].showInfo(); maxst = fun(maxst, sts[i], mx); } Console.WriteLine("-------------------------------"); Console.WriteLine("成绩最好的学生:"); maxst.showInfo(); Console.ReadKey(); }
static void Main(string[] args) { // 创建学生对象数组 student[] sts = { new student("罗振武", 90), new student("蒙舒意", 100), new student("李丽", 80), new student("周芷", 60), new student("王惠", 70), }; // 创建委托对象 mx,关联静态方法 student.max xnDelegate mx = new xnDelegate(student.max); // 创建委托对象 mn,关联静态方法 student.min xnDelegate mn = new xnDelegate(student.min); student maxst, minst; maxst = minst = sts[0]; sts[0].showInfo(); // 利用 fun() 方法求成绩最好的学生和成绩最差的学生 for (int i = 1; i < sts.Length; i++) { sts[i].showInfo(); maxst = fun(maxst, sts[i], mx); minst = fun(minst, sts[i], mn); } Console.WriteLine("-------------------------"); Console.WriteLine("成绩最好的学生:"); maxst.showInfo(); Console.WriteLine("-------------------------"); Console.WriteLine("成绩最差的学生:"); minst.showInfo(); Console.ReadLine(); }
//以委托作为参数,定义方法fun(),以求st1和st2中成绩较好的和较差的 static Student fun(Student st1, Student st2, xnDelegate fxn) { return((Student)fxn(st1, st2)); }