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

本文关键字:非法 字符 包含所 GetInvalidFileNameChars | 更新日期: 2023-09-27 18:32:45

根据 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

这是怎么回事?

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

从您链接的文章中:

从此方法返回的数组不保证包含 文件和目录中无效的完整字符集 名字。完整的无效字符集可能因文件系统而异。为 例如,在基于 Windows 的桌面平台上,路径字符无效 可能包含 ASCII/Unicode 字符 1 到 31,以及引号 (")、小于 (<)、大于 (>)、管道 (|)、退格键 (''b)、空 (''0) 和制表符 (''t)。