学号 | 性别 | 姓名 | 入学时间 |
1 | 男 | 赵阳 | 当前时间三小时前 |
2 | 女 | 小雪 | 当前时间一个月前 |
3 | 男 | 王刚 | 当前时间三年前 |
4 | 女 | 赵佳佳 | 当前时间三天前 |
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
#region 建立学生档案
//学生档案
List<StudentInfo> studentlist = new List<StudentInfo>();
//录入赵阳档案
studentlist.Add(new StudentInfo { NoId = 1, Sex = 1, Name = "赵阳", EntranceTime = DateTime.Now.AddMonths(-3) });
//录入小雪档案
studentlist.Add(new StudentInfo { NoId = 2, Sex = 0, Name = "小雪", EntranceTime = DateTime.Now.AddMonths(-1) });
//录入王刚档案
studentlist.Add(new StudentInfo { NoId = 3, Sex = 1, Name = "王刚", EntranceTime = DateTime.Now.AddYears(-3) });
//录入赵佳佳档案
studentlist.Add(new StudentInfo { NoId = 4, Sex = 0, Name = "赵佳佳", EntranceTime = DateTime.Now.AddDays(-3) });
#endregion
#region 排序
Console.WriteLine("------------------------正序-----------------------------------");
//根据入年年份正序排序
studentlist.Sort((x, y) =>
{
return x.EntranceTime.CompareTo(y.EntranceTime);
});
//打印结果
WriteList(studentlist);
Console.WriteLine("------------------------倒序-----------------------------------");
//反转实现倒序排序
studentlist.Reverse();
//打印结果
WriteList(studentlist);
#endregion
Console.WriteLine("------------------------女在前男在后-----------------------------------");
studentlist.Sort((x, y) =>
{
return x.Sex.CompareTo(y.Sex);
});
//打印结果
WriteList(studentlist);
Console.WriteLine("------------------------男在前女在后-----------------------------------");
studentlist.Reverse();
//打印结果
WriteList(studentlist);
Console.WriteLine("---------------女在前男在后,性别相同安入学时间正序排序-----------------");
studentlist.Sort((x, y) =>
{
int value = x.Sex.CompareTo(y.Sex);
if (value==0)
{
value = x.EntranceTime.CompareTo(y.EntranceTime);
}
return value;
});
//打印结果
WriteList(studentlist);
Console.WriteLine("--------------男在前女在后,性别相同安入学时间倒序排序-----------------");
studentlist.Reverse();
//打印结果
WriteList(studentlist);
}
/// <summary>
/// 打印集合
/// </summary>
/// <param name="studentlist">集合对象</param>
private static void WriteList(List<StudentInfo> studentlist)
{
foreach (StudentInfo item in studentlist)
{
Console.WriteLine(string.Format("学号:{0},姓名:{1},性别:{2},入学时间:{3}", item.NoId, item.Name, item.Sex_Ch, item.EntranceTime.ToString("yyyy-MM-dd HH:mm:ss")));
}
}
}
/// <summary>
/// 学生类
/// </summary>
public class StudentInfo
{
/// <summary>
/// 学号
/// </summary>
public int NoId { get; set; }
/// <summary>
/// 性别:1男,0女
/// </summary>
public int Sex { get; set; }
/// <summary>
/// 返回中文性别
/// </summary>
public string Sex_Ch
{
get
{
if (Sex == 1)
{
return "男";
}
else
{
return "女";
}
}
}
/// <summary>
/// 学生姓名
/// </summary>
public string Name { get; set; }
/// <summary>
/// 入学时间
/// </summary>
public DateTime EntranceTime { get; set; }
}
}