我有以下的code
DirectoryInfo taskDirectory = new DirectoryInfo(this.taskDirectoryPath);
FileInfo[] taskFiles = taskDirectory.GetFiles("*" + blah + "*.xml");
我想对列表进行文件名进行排序。
I would like to sort the list by filename.
这是怎么做的,因为快速,轻松地尽可能使用.NET V2。
How is this done, as quickly and easily as possible using .net v2.
呼叫的Array.Sort,传递一个比较代表:
Call Array.Sort, passing in a comparison delegate:
Array.Sort(taskFiles, delegate(FileInfo f1, FileInfo f2) {
return f1.Name.CompareTo(f2.Name);
});
在C#3那么这就变得稍微简单:
In C# 3 this becomes slightly simpler:
Array.Sort(taskFiles, (f1, f2) => f1.Name.CompareTo(f2.Name));
或者你也可以使用 StringComparer
如果你想使用不区分大小写排序顺序:
Or you can use a StringComparer
if you want to use a case-insensitive sort order:
Array.Sort(taskFiles,
(x, y) => StringComparer.OrdinalIgnoreCase.Compare(x.Name, y.Name));
(或使用的String.Compare(x.Name,y.Name,真)
,或任何比较字符串的很多其他方式:)
(or use string.Compare(x.Name, y.Name, true)
, or any of the many other ways of comparing strings :)