2015-08-15 51 views
0

我将函数应用于特定的文件格式创建有效的文件扩展名列表

string extension = Path.GetExtension(files[i]); 
if (extension == ".txt") 
{ 
    DoSomething(files[i]); 
} 

但我有太多的文件扩展名,不仅TXT。创建白名单并检查它是否包含在该列表中的基本方法是什么?

+0

这似乎类似于这个其他答案:http://stackoverflow.com/a/17736237/2557263 – Alejandro

回答

3

您可以创建一个白名单,并检查是否扩展内部与否

var whitelist = new[] 
{ 
    ".txt", ".bat", ".con" 
}; 

string extension = Path.GetExtension(files[i]); 
if (whitelist.Contains(extension)) 
{ 
    DoSomething(files[i]); 
} 

如果你的白名单尺寸变大(more than 20)尝试使用HashSet获得更好的性能

0
List<string> fileExtensions = new List<string>(); 
         fileExtensions.AddRange(".txt,.png,.bmp,.pdf".Split(',')); 
         string extension = Path.GetExtension(files[i]); 
         if (fileExtensions.Contains(extension)) 
         { 
         // DoSomething(files[i]); 
         }