为3.5之前的.NET框架这应该是可行的:
正则表达式匹配应该会给您带来一些好处。下面是使用System.IO.Path.InvalidPathChars常数;bool IsValidFilename(string testName){
Regex containsABadCharacter = new Regex("["
+ Regex.Escape(System.IO.Path.InvalidPathChars) + "]");
if (containsABadCharacter.IsMatch(testName)) { return false; };
// other checks for UNC, drive-path format, etc
return true;}
为3.0之后的.NET框架这应该是可行的:
正则表达式匹配应该会给您带来一些好处。下面是使用System.IO.Path.GetInvalidPathChars()常数;bool IsValidFilename(string testName){
Regex containsABadCharacter = new Regex("["
+ Regex.Escape(new string(System.IO.Path.GetInvalidPathChars())) + "]");
if (containsABadCharacter.IsMatch(testName)) { return false; };
// other checks for UNC, drive-path format, etc
return true;}
一旦你知道了这一点,你也应该检查不同的格式,例如c:\my\drive和\\server\share\dir\file.ext