我正在使用 Path.Combine,并且其中一个字符串包含 Unicode 字符。我收到 {System.ArgumentException} 异常;路径中存在非法字符。

根据 微软软件定义网络 文件路径/名称可以包含 unicode 字符。为什么我会收到此异常?

编辑:这是代码:

Path.Combine("C:\PDM\Silver","Amabel Bender QQQ")

有帮助吗?

解决方案

我想出问题。第二个字符串包含在其中的“标签”性质造成例外。 (未显示,当我在这里粘贴的字符串)

由于每个人,遗憾的混乱。

其他提示

你可能有 双引号 在你的路径集中,因为 Path.InvalidPathChars 包括双引号。

这将使你的异常与你的 Unicode 字符无关......


刚刚看到您对问题的编辑:VB,没有引号。

那么,您可能在第二个字符串中复制了一个不可打印的字符,它看起来像一个空格,位于“QQQ”字符串之前?
也尝试一下如果 "Amabel BenderQQQ" 或者 "AmabelBenderQQQ" 工作(只是为了测试它是否与“QQQ”字符或空格相关)

如果您使用的是C#那么我敢肯定,你需要躲避回斜线

Path.Combine("C:\\PDM\\Silver","Amabel Bender QQQ")

不适用,如果你正在使用VB,但...

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top