我如何使用 GetFiles 获取只有图像和文本文件?

How do i get with GetFiles only images and text files?

这将获取所有文件:

static void DirSearch(string sDir)
{
    try
    {
        foreach (string d in Directory.GetDirectories(sDir))
        {
            foreach (string f in Directory.GetFiles(d))
            {
                Console.WriteLine(f);
            }
            DirSearch(d);
        }
    }
    catch (System.Exception excpt)
    {
        Console.WriteLine(excpt.Message);
    }
}

但我只想获取全部或大部分图像类型文件和文本文件。

这里有一些你需要了解的事情Linq && Lambda Extension Methods \ Expressions

var fi = new System.IO.DirectoryInfo(sDir).GetFiles().
     Where(f => !(f.FullName.EndsWith(".jpg") || f.Name.EndsWith(".txt"))).ToArray();

尝试 class Path() 它的功能类似于 GetExtension( )

一种方法是创建您感兴趣的文件扩展名列表,然后将匹配的文件添加到列表中。

List<string> validextentions = new List<string> {"bmp", "jpg", "gif"};
DirectoryInfo d = new DirectoryInfo(@"C:\MyFolder\MyImages\");

List<FileInfo> myFiles = (from file in d.GetFiles("*.*", SearchOption.AllDirectories)
                where validextentions.Contains(file.Extension.Replace(".", "").ToLower())
                select new FileInfo(file.FullName)).ToList();