根据http://msdn.microsoft.com/en-us/library/system.io.path.getinvalidpathchars%28v=vs.110%29.aspxPath.GetInvalidFileNameChars()
应该提供以下输出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
什么继续?
这取决于环境。这就是全部的原因推迟此任务的库函数,而不是硬编码它的基础上显然,运行该代码的机器具有相当宽松的文件名/路径限制 – Servy 2014-12-02 15:49:15
“输出看起来像* ...的东西*”意味着它说什么,相同的页面也注意到“全套无效字符可以因文件系统而异。“ – 2014-12-02 15:49:44
我有一种感觉它可能取决于环境。然而,如果我去掉无效字符(从'Path.GetInvalidFileNameChars()')并执行'Path.GetExtension(Filename)',它仍会抛出无效字符异常。让我成为一只伤心的熊猫! – 2014-12-02 16:02:34