如何按存储在我的List <>中的结构中的整数对列表<>进行排序

Luc*_*ity 18 c# sorting list

我需要为我写的游戏排序一个高分文件.

每个高分都有名称,分数和日期变量.我将每个存储在List中.

这是保存每个高分数据的结构.

struct Highscore
{
    public string Name;
    public int Score;
    public string Date;

    public string DataAsString()
    {
        return Name + "," + Score.ToString() + "," + Date;
    }
}
Run Code Online (Sandbox Code Playgroud)

那么我如何通过列表中每个对象的得分变量对类型高分的列表进行排序?

任何帮助表示赞赏:D

Sti*_*gar 49

我不知道为什么每个人都在提出需要额外内存的基于LINQ的解决方案(特别是因为Highscore是一种值类型),如果想要重用结果,则调用ToList().最简单的解决方案是使用List的内置Sort方法

list.Sort((s1, s2) => s1.Score.CompareTo(s2.Score));
Run Code Online (Sandbox Code Playgroud)

这将对列表进行排序.


Ste*_*cya 5

var sortedList = yourList.OrderBy(x => x.Score);
Run Code Online (Sandbox Code Playgroud)

或者用OrderByDescending相反的方式排序