用单反斜杠替换双反斜杠

时间:2015-03-19 23:43:29

标签: c#

我在媒体播放器中创建了一个搜索功能,该功能使用列表框输出数据,当用户点击我希望播放该歌曲的歌曲时。但是,当我因某种原因选择一首歌时,我得到两个黑色斜线而不是一个。请帮忙。我已经尝试过更换它们了。

string path = @"C:\Users\Username\Music\";
        path = path.Replace(@"\\", @"\"); 
        string selectedsong, filetoplay;

        selectedsong = listBox1.SelectedItem.ToString();

        filetoplay = path + selectedsong + ".mp3";

        Form1.wplayer.URL = filetoplay;

我目前正在获得的是C:\\用户\\用户名\\音乐\\ Song.mp3,因此该歌曲无法播放

The file paths after I click in the listbox

3 个答案:

答案 0 :(得分:1)

它在变量值中显示两个反斜杠,因为\被转义。如果将变量值打印到控制台,则应该发现它只有一个反斜杠。

答案 1 :(得分:1)

尝试使用Path.Combine

link to msdn.microsoft.com

P.S。单\是"逃脱标志"并与#34;特殊字符串一起使用"例如:" \ t"是" tab"和" \ n"是"新行",这意味着,当你想发布" \"在你的字符串中,你必须发布" \"。 P.2.2当你创造"路径"使用" Patch.Combine"。

答案 2 :(得分:1)

代码中的Replace无效,因为字符串中没有双反斜杠...正如其他人已经指出的那样,它只是调试器可视化的问题所以你可以复制它例如,在代码中使用它。

所以,如果你这样做:

code

你看到那里有双反斜杠,当然它不在实际的字符串中。看看你在控制台中得到了什么:

Console output

我的建议是,通过运行以下方法模拟双击所选文件:

System.Diagnostics.Process.Start(filetoplay);

它应该打开你的默认MP3播放器。我认为由于文件丢失,格式错误或其他原因,它会给你一个错误。如果它播放,则错误出现在代码的播放器部分,您可以不再担心双斜线。 :)