我有一个应该播放音乐文件的子。我可以很容易地找到我的文档。我甚至可以使用 Path.Combine 来连接字符串的其余部分。
完整路径应如下所示:
......文档\点唱机\迈克尔杰克逊\01.wav
但是我得到的是双斜杠而不是单斜杠
private static void playChoice(string band, int choice)
{
var myDocs = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
string filename = "0" + choice;
string[] paths = { myDocs, "JukeBox", band, filename, ".wav" };
var fullPath = Path.Combine(@paths);
var player = new System.Media.SoundPlayer(fullPath);
player.Play();
}
A) 如何去除双斜杠,因为我的逐字说明符不起作用B)代码看起来很糟糕 - 有没有更好的方法 - 或者是否有人链接到有用的文献
逐字字符串文本是字符串文本的一项功能,会影响文本的分析方式。
您没有任何字符串文本;这完全无关紧要。
@paths
是一个完全不同的功能,它允许标识符以关键字命名(例如,int @int
)。 这也无关紧要。
你可能会在调试器中看到该值,该调试器显示用于写入值的 C# 源,包括转义序列。 您的字符串实际上没有双斜杠。
但是,Path.Combine()
合并文件夹(通过在它们之间添加斜杠);在那里传递扩展名是没有意义的。