求问:C#怎样将\转换成\\?

从文件中读到一个路径的字符串,但是显示的时候用\分割各级目录,而利用这个路径根本读不出相应的文件。比如说我有一个文件的所在路径是C:\desktop\a.mp3,但是这个... 从文件中读到一个路径的字符串,但是显示的时候用 \ 分割各级目录,而利用这个路径根本读不出相应的文件。
比如说我有一个文件的所在路径是C:\desktop\a.mp3,但是这个路径在无法通过FileInfo进行实例化,总是显示路径中有非法字符。估计是 \ 被当成是转义字符了。
请问在C#中有什么办法可以将 \ 转换成 \\ 呢?求问大神~
展开
 我来答
xmandlp
2014-04-06 · TA获得超过484个赞
知道小有建树答主
回答量:498
采纳率:0%
帮助的人:305万
展开全部
假设字符串a是文件的一个路径 你可以写成这样 a=@“C:\desktop\a.mp3” 就是在路径的字符串前加个@就行了
更多追问追答
追问
我现在得到的是一个字符串变量str,str的值就是C:\desktop\a.mp3
那个@,我试过了,把str改成@str,但还是说我的字符串是非法路径。。。
具体我是这样做的:
FileInfo fi = new FileInfo(@str);
但编译报错。。。
追答
FileInfo fi = new FileInfo(@str);

你试试看改成:
string str=@"………………";

FileInfo fi = new FileInfo(str);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2014-04-06
展开全部
\是转义字符,\\等于\,那\\\\不就等于\\了吗。不过C#有个特殊字符@在字符串前加一个@,字符串中的\就不会被当作转义字符了。比如:
@"http:\\\\www.abcd.com"就等于"http:\\www.abcd.com"。
追问
\\\\ 会出现编译错误。。。我现在得到的是一个字符串变量str,str的值就是C:\desktop\a.mp3
我本来想用str.Replace('\\','\\\\');,但是编译出现错误。

然后那个@,我也试过了,把str改成@str,但还是说我的字符串是非法路径。。。
追答
这样写:
a="C:\\desktop\\a.mp3";
FileInfo fi = new FileInfo(a);

或者你这么写:
a=@"C:\desktop\a.mp3";
FileInfo fi = new FileInfo(a);
以上两种写法是不会出错的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
怪蜀黍丨Loli控
2014-04-06 · 超过35用户采纳过TA的回答
知道答主
回答量:82
采纳率:0%
帮助的人:62.5万
展开全部
加个@可以了,@"C:\desktop\a.mp3"
追问
我现在得到的是一个字符串变量str,str的值就是C:\desktop\a.mp3
那个@,我试过了,把str改成@str,但还是说我的字符串是非法路径。。。
具体我是这样做的:
FileInfo fi = new FileInfo(@str);
但编译报错。。。
追答
不对...string str="C:\desktop\a.mp3";这样本身就是错误的啊,你怎么可能编译通过!!
要不你这样吧str.replace("\","\\");能否调试打下断点,截图个给我们看下str到底是什么值么。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式