将最大编号文件加载到内存中

时间:2010-02-24 18:35:19

标签: c# file-io

我有一个目录,其中文件名完全是数字。我想找到最高值的数字,以便我可以打开该文件并开始处理文件中的数据。最简单的方法是什么?我的第一个腮红想法是将文件名目录加载到一个数组中并遍历数组,看看哪个是最大的。建议?

4 个答案:

答案 0 :(得分:2)

TryParse会在这里提供帮助吗?

Int64 val;
string maxFileName = dirInfo.GetFiles().OrderByDescending(s => Int64.TryParse(s.Name, out val) ? val : 0).First().Name;

答案 1 :(得分:0)

你的“腮红想法”有什么不好?我发现它没有任何问题。

答案 2 :(得分:0)

您可以使用DirectoryInfo.GetFiles,并使用LINQ查找最高值编号:

string filename = myDirectoryInfo.GetFiles().Select(fileInfo => int.Parse(fileInfo.Name)).Max().ToString();

(但是,您可能需要更严格的错误检查,因为如果文件夹包含的文件名不仅仅是数字,则会抛出此错误...)

答案 3 :(得分:0)

是的,您可以执行此操作,一次加载所有文件名的最简单方法是目录类

使用GetFiles功能。

由于