C#-如何检查文件夹中的所有文件是否都具有特定扩展名

时间:2018-10-26 05:41:52

标签: c#

我需要检查文件夹中的所有文件是否都具有特定扩展名。如果文件夹中的所有文件都有.txt扩展名,我试图显示一条消息/表格。谁能提供有关如何完成此操作的代码?谢谢。

2 个答案:

答案 0 :(得分:2)

简单(但不限于)

public bool DoAllFilesHaveExtension(string path, string extension)
{
   return Directory.GetFiles(path).All(x => string.Compare(Path.GetExtension(x),extension, StringComparison.CurrentCultureIgnoreCase) == 0);
}

注意 ,没有错误检查,健全性检查或容错功能


其他资源

Directory.GetFiles(string) Method

  

返回指定文件中的文件名(包括它们的路径)   目录。

Enumerable.All(IEnumerable, Func) Method

  

确定序列中的所有元素是否都满足条件。

Path.GetExtension Method

  

返回指定路径字符串的扩展名。

String.Compare Method

  

比较两个指定的String对象,并返回一个整数,该整数   指示它们在排序顺序中的相对位置。

答案 1 :(得分:1)

  

TheGeneral 解决方案比这还好,但我只是向您展示另一种初学者的方式

if (fileupload.HasFile)
     {
       if (CheckFileType(fileupload.FileName))
          {
            //it will come here if file extention will math your CheckFileType
          {
    }

在这里您可以定义要检查的类型

bool CheckFileType(string fileName)
        {
            string ext = Path.GetExtension(fileName);
            switch (ext.ToLower())
            {                    
                case ".txt":
                    return true;                          
                default:
                    return false;
            }
        }