C#按分数对行进行排序

普利奇(D. Puljic)

我有一个称为Player的类,它具有属性名称和得分,并且在每次游戏后,它们都使用method写入文件File.AppendAllText(path, content+Environment.NewLine);现在,当单击标签“得分”并加载新的Form时,我必须将它们添加到listBox。.但是我想使用我的类Player,并向列表或播放器中添加项目,而不仅仅是从文件中加载它们。 ..我使用SortedList 如下图所示...

    SortedList<int, Player> topList = new SortedList<int, Player>();

    private void Scores_Load(object sender, EventArgs e)
    {
        topList.Clear();
        string filename = "highscores.txt";
        using (StreamReader sr = File.OpenText(filename))
        {
            string line;
            while ((line = sr.ReadLine()) != null)
            {
                string[] s = line.Split(';');
                string name = s[0];
                int score = int.Parse(s[1]);
                Player newPlayer = new Player(name, score);
                if (!topList.ContainsKey(score))
                    topList.Add(score, newPlayer);
            }
        }

        Output();
    }
    private void Output()
    {
        lstScores.Items.Clear();
        int rank = 1;
        foreach (int k in topList.Keys.Reverse())
        {
            if (rank < 10)//top 9
            {
                Player temp = (Player)topList[k];
                lstScores.Items.Add("  " + rank.ToString() + "\t" + temp.ToString());//override of method ToString(), so it returns in format Name+"\t"+Score;
            }
            rank++;
        }
    }

现在这是可以接受的,但是这里的问题是我不能拥有两个相同的琴键,在这种情况下,琴键是分数……所以我想知道我该如何修改它以便拥有两个或更多相同的琴谱? ..也许我应该使用List<>,但是我不知道如何按分数对列表进行排序,因为我在同一行文件中有字符串+ int(名称+分数)?

但丁

您可以使用列表:

List<Player> players = new List<Player>();
players.Add(new Player(name, score));

并按分数排序:

var sorted = players.OrderByDescending(p => p.Score).ToList();

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在C#中按其第一个元素的升序对2D数组行进行排序

来自分类Dev

在C#多维列表中对行进行排序和删除

来自分类Dev

在C#多维列表中对行进行排序和删除

来自分类常见问题

AngularJS按表头对行进行排序

来自分类Dev

按行方式对矩阵行进行排序

来自分类Dev

如何按层次对行进行排序

来自分类Dev

如何使Emacs按长度对行进行排序?

来自分类Dev

pandas DataFrame按重复对行进行排序

来自分类Dev

按每行字数对行进行排序

来自分类Dev

按列对表行进行排序

来自分类Dev

按unicode值对行进行排序

来自分类Dev

按参考行对每对行进行排序

来自分类Dev

如何按日期对 DataTables 行进行排序?

来自分类Dev

按秒和分钟对行进行排序

来自分类Dev

按单词对C#列表进行排序

来自分类Dev

按降序对SortedList进行排序C#

来自分类Dev

按降序对SortedList进行排序C#

来自分类Dev

LibreOffice Calc按列比较对行进行排序

来自分类Dev

按行中的元素对ArrayList中的行进行排序

来自分类Dev

Powershell-按日期对日志行进行排序

来自分类Dev

按出现次数对字符串行进行排序

来自分类Dev

使用Python按单词对文件/行进行排序

来自分类Dev

按索引对numpy.array行进行排序

来自分类Dev

按长度和字母顺序对行进行排序

来自分类Dev

jQuery按1 td的值对表行进行排序

来自分类Dev

使用两列按组对行进行排序

来自分类Dev

在Postgres中的联接表中按列对行进行排序

来自分类Dev

如何在Notepad ++中按数字顺序对行进行排序?

来自分类Dev

如何使用批处理脚本按长度对行进行排序?