上下文:我正在设计一个排行榜,并希望将数据从最高分数显示到最低分数。问题是数据包含从文本文件导入的字符串和整数。目前我能够对数据进行数字排序,但是我使用的OrderByDescending函数不起作用。订购时,例如11,4,5,8,23,65 = 8,65,5,4,23,11(按字母顺序排序)。 该列表中包含的数据:名称(字符串),困难(字符串)和得分(int)和我想以降序排序数据:例如第一= 10,第二= 9等从数字上从高到低对列表(字符串)进行排序c#
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找到字符串中的数字。 基本上最后一行是需要修改的行。 欢迎所有帮助,谢谢。
编辑:数据应以形式输出名称,难度,得分和排序数据以降序排列,得分最高。
这个数据你会执行多个功能吗?为什么不将数据一次解析成具有单独属性的类?这样你就可以解析数据一次,然后在本机类型上执行各种函数(排序,字符串操作等) – maccettura