我有我的文件夾中的文件有這樣的名字:訂購1,2,10,11代替1,10,11,2
"C:\\Users\\John\\Documents\\333\\12.html"
如何對它們進行排序,以便將2.HTML 10日前來HTML嗎?
我有我的文件夾中的文件有這樣的名字:訂購1,2,10,11代替1,10,11,2
"C:\\Users\\John\\Documents\\333\\12.html"
如何對它們進行排序,以便將2.HTML 10日前來HTML嗎?
解析字符串爲數字,當你對文件進行排序。
例子:
string[] files = {
"2.html",
"10.html",
"1.html"
};
files =
files.OrderBy(s => Int32.Parse(s.Substring(0, s.IndexOf('.'))))
.ToArray();
看看這個帖子 -
http://www.codeproject.com/Articles/11016/Numeric-String-Sort-in-C
string[] files = System.IO.Directory.GetFiles();
NumericComparer ns = new NumericComparer();
Array.Sort(files, ns);
// files will now sorted in the numeric order
// we can do the same for directories
string[] dirs = System.IO.Directory.GetDirectories();
ns = new NumericComparer(); // new object
Array.Sort(dirs, ns);
public class NumericComparer : IComparer
{
public NumericComparer()
{}
public int Compare(object x, object y)
{
if((x is string) && (y is string))
{
return StringLogicalComparer.Compare((string)x, (string)y);
}
return -1;
}
}//EOC
在什麼anmespace是NumericComparer? – user1322207 2012-04-19 12:37:53
@ user1322207看看這個鏈接有一個下載的例子,我也編輯我的答案 – 2012-04-19 12:41:36
Directory
.GetFiles()
.OrderBy(f => int.Parse(Path.GetFileNameWithoutExtension(f)))
Windows資源管理器?諾頓指揮官? 'DirectoryInfo.GetFiles()'? – CodeCaster 2012-04-19 12:31:55
單擊瀏覽器列「名稱」來反轉排序! – Alex 2012-04-19 12:32:40
這與c#有什麼關係? – 2012-04-19 12:32:44