1创建 User类
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace _13数组和集合
{
internal class User : IComparable
{
public string Name { get; set; }
public int Age { get; set; }
public User(string name, int age)
{
Name = name;
Age = age;
}
public int CompareTo(object obj)
{
User user = obj as User;
if (Age != user.Age)
{
return Age.CompareTo(user.Age);
}
else
{
return Name.CompareTo(user.Name);
}
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace _13数组和集合
{
internal class Program
{
static void Main(string[] args)
{
//试一试:借助Sort方法,实现按照年龄从小到大排序
User[] users = { new User("陈文俊", 16), new User("药了新", 62), new User("潘俊豪", 18) };
// 第1种方法: 使用Lambda方式隐式实现IComparable接口
//Array.Sort(users, (p1, p2) => p1.Age.CompareTo(p2.Age));
//第2种方法:使用Lambda方式显式实现IComparable接口
//Array.Sort(users, (p1, p2) => {
//if (p1.Age > p2.Age) return 1;
//else if (p1.Age <p2.Age) return -1;
//else return 0;
//}) ;
// 第3种方法:在类中实现IComparable接口
Array.Sort(users);
foreach (User user in users)
{
Console.WriteLine(user.Age + user.Name);
}
Console.ReadLine();
}
}
}