FileInfo[] allFile = dir.GetFiles("*.de2");请问下我再添加个de4 格式文件要怎么写呢?

解决方案 »

  1.   

    FileInfo[] allFile = dir.GetFiles("*.de2;*.de4");//还有可能是|符号分割,我记不太清了,你可以msdn自己查一下,也可以先试试我这两个符号
      

  2.   

    System.IO.Directory.GetFiles("c:\","(*.exe|*.txt)");
      

  3.   

    哦,我错了。百度还是不能相信这个需要用linq,
    可以是var files = dinfo.GetFiles("*.jpg")
        .Concat(dinfo.GetFiles("*.tiff"))
        .Concat(dinfo.GetFiles("*.bmp"));
    这样也可以是 getfiles().where
      

  4.   

    https://codedefault.com/s/how-do-i-call-directory-getfiles-with-multiple-filters-in-csharp-application
      

  5.   

      public class DirectoryAllFiles
            {
                static List<FileInformation> FileList = new List<FileInformation>();
                public static List<FileInformation> GetAllFiles(DirectoryInfo dir)
                {
                    FileInfo[] allFile = dir.GetFiles("*.de4");
                    foreach (FileInfo fi in allFile)
                    {
                        FileList.Add(new FileInformation { FileName = fi.Name, FilePath = fi.FullName });
                    }
                    DirectoryInfo[] allDir = dir.GetDirectories();
                    foreach (DirectoryInfo d in allDir)
                    {
                        GetAllFiles(d);
                    }
                    return FileList;
                }
            }
    我的代码是这样的,怎么套用你这个方法呢?
      

  6.   

    https://docs.microsoft.com/zh-cn/dotnet/api/system.io.directory.getfiles?view=netframework-4.8是的,看微软资料searchPattern并不支持多个参数合并,因此只有分别查出来array后合并。至于你使用linq还是一般的add或者addrage操作这个看你对数组的熟悉程度,不行可以看看数组操作的文档:
    https://docs.microsoft.com/zh-cn/dotnet/api/system.array?view=netframework-4.8
      

  7.   

    https://docs.microsoft.com/zh-cn/dotnet/api/system.collections.generic.ienumerable-1?view=netframework-4.8
      

  8.   


    dir.GetFiles("*.de*");