【发布时间】:2015-01-30 22:25:17
【问题描述】:
根据http://msdn.microsoft.com/en-us/library/system.io.path.getinvalidpathchars%28v=vs.110%29.aspxPath.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
发生了什么事?
【问题讨论】:
-
取决于环境。这就是将此任务推迟到库函数而不是根据您的机器对其进行硬编码的全部原因。显然,运行该代码的机器具有相当宽松的文件名/路径限制。
-
“输出看起来像something...”意思是它所说的。同一页面还指出“完整的无效字符集可能因文件系统而异。”
-
我有一种感觉,它可能取决于环境。但是,如果我删除无效字符(来自
Path.GetInvalidFileNameChars())并执行Path.GetExtension(Filename),它仍然会引发无效字符异常。让我变成一只悲伤的熊猫!
标签: c#