【发布时间】:2017-03-09 20:22:01
【问题描述】:
上下文:我正在设计一个排行榜,并希望从最高分到最低分显示数据。问题是数据包含从文本文件导入的字符串和整数。目前我可以对数据进行数字排序,但是我使用的 OrderByDescending 函数不起作用。例如 11,4,5,8,23,65 订购时 = 8,65,5,4,23,11(按字母数字排序)。 该列表包含数据:名称(字符串)、难度(字符串)和分数(整数),我希望按降序对数据进行排序:例如 1st = 10、2nd = 9 等。
List<string> leaderboardList = new List<string>();
StreamReader srUserData = new StreamReader(@"User Leaderboard.txt");
while ((userDataLine = srUserData.ReadLine()) != null)
{
leaderboardList.Add(userDataLine);
}
leaderboardList = leaderboardList.OrderByDescending(x => Regex.Match(x, @"\d+").Value).ToList();
Regex.Match 在字符串中查找数字。 基本上最后一行是需要修改的行。 欢迎大家帮忙,谢谢。
编辑:数据应以名称、难度、分数的形式输出,并按分数最高的降序排列数据。
【问题讨论】:
-
您将使用这些数据执行多种功能吗?为什么不将数据解析为具有单独属性的类?这样你就可以解析一次数据,然后对原生类型执行各种功能(排序、字符串操作等)