上下文:我正在設計一個排行榜,並希望將數據從最高分數顯示到最低分數。問題是數據包含從文本文件導入的字符串和整數。目前我能夠對數據進行數字排序,但是我使用的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