我正在加载一个放在字符串数组目录中的文件列表。我正在使用sed -i.bak '/ title="Main Menu"/!s/ title="[^"]*"//' file.xml
cat file.xml
</GlobalMenu>
<Buttons>
<Button name="salford_121"/>
<Button name="salford_197"/>
<Button name="salford_121"/>
<Button name="salford_190"/>
<Button name="salford_121"/>
<Button name="GlobalMenu.xml" title="Main Menu"/>
</Buttons>
</GlobalMenu>
,
System.IO.Directory.GetFiles()
我假设返回值的默认排序顺序是名称。所以我的文件按以下顺序加载。
但我希望按此顺序收集值。
感谢帮助。
答案 0 :(得分:4)
你可以这样做:
Path.GetFileNameWithoutExtension
_
int.Parse
或int.TryParse
OrderBy
和LINQ 代码:
var output = path.OrderBy(p =>
int.TryParse(Path.GetFileNameWithoutExtension(p).Split('_').Last(), out temp) ?
temp : int.MaxValue);
如果您需要数组或List<T>
作为输出,请将ToArray()
或ToList()
附加到查询中。