2017-04-11 25 views
-1

排序在列表 文件,我已經在 List<string> 由要素名數

backup-codes (7).txt 
backup-codes.txt 
backup-codes (1).txt 
backup-codes (2).txt 
backup-codes (3).txt 
backup-codes (8).txt 
backup-codes (6).txt 

下列文件,我怎麼能由數字(eg. (#))對它們進行排序,從而具有最高價值的文件總是先出現在清單?

+0

@TinyGiant:糟糕的重複建議。這裏OP是要求根據字符串中的數字值對字符串進行排序 –

+2

@不幸的是,這不僅僅是_How如何對列表進行排序 _和_如何從字符串_中提取數字?我們是否需要一個_如何在類型Z的輸入中對位置Y的W型字符X進行分類?對於每個W,X,Y和Z來說? –

+0

@不幸的是,因爲今天提出的大多數問題都是重複的,至少對於最成熟的技術來說是重複的。 –

回答

2

你可以做這樣的事情

lstFiles = lstFiles.OrderByDescending(x=> int.Parse(Regex.Replace(x,"[^0-9]+","0"))).ToList<string>(); 

這假設有在文件名中沒有其他數字,除非進行測序。

這裏是提琴手:https://dotnetfiddle.net/Nb38fJ

+0

乾杯!工作完美:) – TheAuzzieJesus