GetInvalidFileNameChars()不包含所有非法字符

时间:2014-12-02 15:46:03

标签: c#

根据http://msdn.microsoft.com/en-us/library/system.io.path.getinvalidpathchars%28v=vs.110%29.aspx Path.GetInvalidFileNameChars()应该提供以下输出

// Note: Some characters may not be displayable on the console. 
// The output will look something like: 
// 
// The following characters are invalid in a path: 
// Char    Hex Value 
// ",      0022 
// <,      003C 
// >,      003E 
// |,      007C 
// ... 
// 
// The following characters are invalid in a filename: 
// Char    Hex Value 
// ",      0022 
// <,      003C 
// >,      003E 
// |,      007C 
// ...

但是我只是

Char    Hex Value
,   0000
/,  002F

http://ideone.com/UdRbCC

发生了什么事?

1 个答案:

答案 0 :(得分:3)

来自你链接的文章:

  

不保证从此方法返回的数组包含   文件和目录中无效的完整字符集   名。完整的无效字符集可能因文件系统而异。对于   例如,在基于Windows的桌面平台上,路径字符无效   可能包括ASCII / Unicode字符1到31,以及引用   (“),小于(&lt;),大于(&gt;),管道(|),退格(\ b),null   (\ 0)和制表符(\ t)。