以下代码是针对一个数据类进行排序,多用于游戏中排行榜的功能,希望对您有所帮助,共有两种方法,
using System.Collections.Generic;
using UnityEngine;
public class Billboard : MonoBehaviour
{
private List<PlayerData> data = new List<PlayerData>();
void Start()
{
data.Add(new PlayerData("张三", 100, 10));
data.Add(new PlayerData("李四", 80, 50));
data.Add(new PlayerData("王五", 90, 30));
//1.方法1:
data.Sort((x, y) => { return -x.age.CompareTo(y.age); });
//方法2:
//data.Sort(new ComparePlayerData());
foreach (var item in data)
{
Debug.Log(item.ToString());
}
}
}
public class PlayerData
{
public string name;
public int score;
public int age;
public PlayerData(string Name, int Score, int Age)
{
this.name = Name;
this.score = Score;
this.age = Age;
}
public override string ToString()
{
return "姓名:" + name + "------" + "分数:" + score + "------" + "年龄:" + age;
}
}
//public class ComparePlayerData : IComparer<PlayerData>
//{
// public int Compare(PlayerData x, PlayerData y)
// {
// if (x.age < y.age) return 1;
// if (x.age > y.age) return -1;
//if (x.score < y.score) return 1;
//if (x.score > y.score) return -1;
// return 0;
// }
//}
QQ技术交流+外包群:871118327。欢迎大家加入!!!!