我在C#中有一个FileInfo
,看起来像这样:
DirectoryInfo dir = new DirectoryInfo(folder);
FileInfo[] files = dir.GetFiles("Car*", SearchOption.TopDirectoryOnly);
我希望能够选择x
中文件的前30
个项目,例如files
,然后从files
中删除其余的项目。如何做到这一点,而不仅仅是从0
到29
循环遍历?
代替使用GetFiles
,使用EnumerateFiles
加EnumerateFiles
和Take
:
Take
这将创建一个数组,最多包含目录中找到的前三十个项目。这样做的好处是,在非常大的目录中,它仅返回三十个项目(最多)。 ToArray
将返回目录first中的每个文件,如果有很多文件,这可能需要一些时间。