Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/256.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何对文本文件(.json文件)进行排序,其中每一行都是一个球员姓名,后跟一个分数_C#_Json_Sorting_Xna - Fatal编程技术网

C# 如何对文本文件(.json文件)进行排序,其中每一行都是一个球员姓名,后跟一个分数

C# 如何对文本文件(.json文件)进行排序,其中每一行都是一个球员姓名,后跟一个分数,c#,json,sorting,xna,C#,Json,Sorting,Xna,我打算为XNA游戏制作一个框架大厅前5名的高分,但我在想办法时遇到了一些困难。我有一个AllPlayer.json文件来记录玩家的名字,另一个json文件记录paler的细节,比如名字、分数等等。 文本文件如下所示:picture 现在我可以按降序排序,但我只需要前5名人员 例如: A 100 B 50 C 30 D 10 E 45 F 55 G 90 应该是这样的: A 100 G 90 F 55 B 50 E 45 代码: 我真的很感激你的回答 谢谢 也许简单的使用IEnumerab

我打算为XNA游戏制作一个框架大厅前5名的高分,但我在想办法时遇到了一些困难。我有一个AllPlayer.json文件来记录玩家的名字,另一个json文件记录paler的细节,比如名字、分数等等。 文本文件如下所示:picture

现在我可以按降序排序,但我只需要前5名人员

例如:

A 100 
B 50
C 30
D 10
E 45
F 55
G 90 
应该是这样的:

A 100
G 90
F 55
B 50
E 45
代码:

我真的很感激你的回答

谢谢

也许简单的使用IEnumerable.拿着

如果无法解析int,为了使排序更加安全,您还可以使用

var outInt = 0;
var result = lst.OrderByDescending(p =>
            {
                if (Int32.TryParse(p[1], out outInt))
                {
                    return outInt;
                }
                else
                {
                    return -1;
                }
            }).Take(5);
var list = new List<int>(){1,3,2,6,9,2,3,5,4,8};
var result = list.OrderByDescending(p => p).Take(5).ToList();
var lst = new List<List<string>>()
{
    new List<string>(){"A","22"},
    new List<string>(){"B","7"},
    new List<string>(){"C","4"},
    new List<string>(){"D","3"},
    new List<string>(){"E","10"},
    new List<string>(){"F","5"},
    new List<string>(){"G","1"},
};

var result = lst.OrderByDescending(p=>Int32.Parse( p[1] )).Take(5);
Player A Score: 22
Player E Score: 10
Player B Score: 7
Player F Score: 5
Player C Score: 4
var outInt = 0;
var result = lst.OrderByDescending(p =>
            {
                if (Int32.TryParse(p[1], out outInt))
                {
                    return outInt;
                }
                else
                {
                    return -1;
                }
            }).Take(5);