0
我将函数应用于特定的文件格式创建有效的文件扩展名列表
string extension = Path.GetExtension(files[i]);
if (extension == ".txt")
{
DoSomething(files[i]);
}
但我有太多的文件扩展名,不仅TXT。创建白名单并检查它是否包含在该列表中的基本方法是什么?
我将函数应用于特定的文件格式创建有效的文件扩展名列表
string extension = Path.GetExtension(files[i]);
if (extension == ".txt")
{
DoSomething(files[i]);
}
但我有太多的文件扩展名,不仅TXT。创建白名单并检查它是否包含在该列表中的基本方法是什么?
您可以创建一个白名单,并检查是否扩展内部与否
var whitelist = new[]
{
".txt", ".bat", ".con"
};
string extension = Path.GetExtension(files[i]);
if (whitelist.Contains(extension))
{
DoSomething(files[i]);
}
如果你的白名单尺寸变大(more than 20)尝试使用HashSet获得更好的性能
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]);
}
这似乎类似于这个其他答案:http://stackoverflow.com/a/17736237/2557263 – Alejandro