c# 多条件排序
1 using Landlords; 2 using System; 3 using System.Collections.Generic; 4 using System.Linq; 5 using System.Text; 6 using System.Threading.Tasks; 7 8 namespace Landlords 9 { 10 /// <summary> 11 /// 数据信息 12 /// </summary> 13 public class Info 14 { 15 public int vip; 16 public int lv; 17 public int line; 18 } 19 20 class Program 21 { 22 static void Main(string[] args) 23 { 24 int[] vip = new int[]{3,5,1,4,0,0,6,2,10,0}; 25 int[] lv = new int[]{13,25,1,24,10,30,16,2,10,20}; 26 int[] line = new int[]{1,2,1,2,1,1,1,2,1,2}; 27 List<Info> list = new List<Info>(); 28 for (int i = 0; i < 10;++i ) 29 { 30 Info info = new Info(); 31 info.vip = vip[i]; 32 info.lv = lv[i]; 33 info.line = line[i]; 34 list.Add(info); 35 } 36 list.Sort(Line); 37 //在线排序打印 38 for (int i = 0; i < list.Count;++i ) 39 { 40 Console.WriteLine("1:{0} - {1} - {2}",list[i].vip,list[i].lv,list[i].line); 41 } 42 VipSort(list); 43 //VIP排序打印 44 for (int i = 0; i < list.Count; ++i) 45 { 46 Console.WriteLine("2:{0} -{1} - {2}",list[i].vip, list[i].lv, list[i].line); 47 } 48 LvSort(list); 49 //等级排序打印 50 for (int i = 0; i < list.Count; ++i) 51 { 52 Console.WriteLine("3:{0} -{1} - {2}",list[i].vip, list[i].lv, list[i].line); 53 } 54 // StateManager.Instance.SetState(StateManager.GAME_STATE.START); 55 Console.Read(); 56 } 57 /// <summary> 58 /// VIP排序 59 /// </summary> 60 /// <param name="list"></param> 61 static void VipSort(List<Info> list) 62 { 63 for (int i = 0; i < list.Count; ++i) 64 { 65 for (int j = i + 1; j < list.Count; ++j) 66 { 67 //判断在线和在线对比,不在线和不在线对比 68 if (list[i].vip < list[j].vip && list[i].line == list[j].line) 69 { 70 Info info = list[j]; 71 list[j] = list[i]; 72 list[i] = info; 73 } 74 } 75 76 } 77 } 78 /// <summary> 79 /// 等级排序 80 /// </summary> 81 /// <param name="list"></param> 82 static void LvSort(List<Info> list) 83 { 84 for (int i = 0; i < list.Count; ++i) 85 { 86 for (int j = i + 1; j < list.Count; ++j) 87 { 88 //判断在线和VIP等级相同才排序 89 if (list[i].lv < list[j].lv && list[i].vip == list[j].vip && list[i].line == list[j].line) 90 { 91 Info info = list[j]; 92 list[j] = list[i]; 93 list[i] = info; 94 } 95 } 96 97 } 98 } 99 /// <summary> 100 /// 在线排序 101 /// </summary> 102 /// <param name="e1"></param> 103 /// <param name="e2"></param> 104 /// <returns></returns> 105 static int Line(Info e1, Info e2) 106 { 107 return e1.line.CompareTo(e2.line); 108 } 109 110 } 111 }
1.排序是否在线 2.排序VIP等级3.排序等级

浙公网安备 33010602011771号