早上处理上传文件允许的扩展名,用string[].Contains(xx),需要忽略大小写。用ToLower()的方法去先把他们转化成小写再比较,这种方法原始哦。然看它有提供传入IEqualityComparer 类型的参数。难道需要自己去实现这么一个接口吗?惊喜的发现StringComparer这个字符串比较操作类。它继承了四种接口IComparer, IEqualityComparer, IComparer<string>, IEqualityComparer<string>,其中就有string[].Contains(xx, IEqualityComparer)方法需要。在这里使用StringComparer的OrdinalIgnoreCase的静态方法,就可以了。
var fileName =Path.GetExtension(@"e:\files\me.JPG");
var fileTypes = new[] {".exe",".rar",".jpg"};
if (fileTypes.Contains(fileName,StringComparer.OrdinalIgnoreCase))
{
//这样就可以满足您的需要了
}
转载请注明出处http://asterzhao.cnblogs.com
浙公网安备 33010602011771号