C# 如何获取目录中的文件列表
我很难计算文件夹中文本文件的数量。我使用这些命令来获取路径。现在我想计算文件夹中文本文件的数量C# 如何获取目录中的文件列表,c#,file-io,C#,File Io,我很难计算文件夹中文本文件的数量。我使用这些命令来获取路径。现在我想计算文件夹中文本文件的数量 FolderBrowserDialog fbd = new FolderBrowserDialog(); DialogResult result = fbd.ShowDialog(); string files = fbd.SelectedPath; textBox2.Text = files; 只需使用目录类 string [] fileEntries = Directory.GetFile
FolderBrowserDialog fbd = new FolderBrowserDialog();
DialogResult result = fbd.ShowDialog();
string files = fbd.SelectedPath;
textBox2.Text = files;
只需使用目录类
string [] fileEntries = Directory.GetFiles(fbd.SelectedPath,"*.txt");
textBox2.Text = fileEntries.Length.ToString() ;
如果您只想获得txt文件的数量,请使用以下方法:
int count = Directory.GetFiles(fbd.SelectedPath, "*.txt").Length;
您还可以使用第三个参数searchOption,它使用searchOption
枚举
根据我的理解,您可以指定
AllDirectories
或TopDirectoryOnly
,GetFiles
返回一个数组,因此使用Length
代替Count()Count()
是一种LINQ扩展方法,在处理数组时有效,因为它们实现了IEnumerable
。是的,但IEnumerable没有跟踪项数的属性,因此理论上它强制转换为IEnumerable并重复手动计数的每个项,而数组已经跟踪它。换句话说:直接使用Length
更快,因为至少它可以防止类型检查和强制转换。是的,Count()
几乎肯定比Length
更昂贵。为了提供最佳解决方案,我将相应地更新我的答案。