字符串崩溃程序中的 C# 特殊字符

标签 c# string

路径有点问题:

"D:\\Music\\DJ Ti%C3%ABsto\\Tiesto\\Adagio For Strings (Spirit of London).mp3"
"D:\\Music\\Dj Tiësto\\Tiesto\\Adagio For Strings (Spirit of London).mp3"

目前,当它将该路径发送到我的音频库时,它无法打开该路径。 (它崩溃的原因是试图将 -1 分配给轨迹栏......但它是无关紧要的)。

所以我想知道,有没有办法阻止 C# 使用 %[code] 切换特殊字符?我已经为“[”和“]”做了一个 .Replace,但我宁愿不必查找每个特殊字符,也不必添加一行代码来阻止它。有什么办法吗?

最佳答案

调用Uri.UnescapeDataString .

顺便说一句,当把路径放在字符串中时,你可以在字符串前放一个@符号来告诉编译器不要处理转义码,像这样:@"D:\Music\DJ Tiësto\Tiesto\Adagio For Strings (Spirit of London).mp3"。这样,您就不需要将每个反斜杠加倍。

关于字符串崩溃程序中的 C# 特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1670994/

相关文章:

PHP字符串 float

c# - 使用C#API的 Elasticsearch 批量索引

c#无参数扩展方法

algorithm - 在字符串中查找部分子字符串

java - 根据拆分排序列表

java - NullPointerException 即使没有什么是空的?

c# - 使用 C# 从 native 二进制文件获取自定义文件版本信息

c# - 高效的临时数据集

c# - Visual C# 和 SQL Server 无法一起正常工作//文件已在使用中

jquery 选择器函数在 ajax 响应 html 数据上失败