我写了一个小应用程序来将文件从源文件复制到目标文件。我期待两个参数,源和目的地。以下命令工作正常。
test.exe "C:\source path" "D:\destination"
我遇到的问题是,当我在"
中传递参数并以\
结束时,它就会混乱。
例如:
test.exe "C:\source path\" "D:\destination"
由于\
是转义字符,因此test.exe将第一个参数变为C:\source path"
而不是C:\source path\
那么,处理这个问题的正确方法是什么。
即使是最基本的示例也表明从命令行传递的奇怪行为 - \"
会转换为"
:
static void Main(string[] args)
{
foreach(var s in args)
{
System.Console.WriteLine(s);
}
}
答案 0 :(得分:0)
test.exe @"C:\source path\" @"D:\destination"
@使字符串成为逐字逐句。
在逐字字符串文字中,分隔符之间的字符是逐字解释的,唯一的例外是quote-escape-sequence。
了解更多here on msdn