String.Format @
问题:前边有 “@”和没有“@”区别是什么?
textBox1.Text = String.Format(@"{0} -r 25 -f 1 -l 1 -i {1} -o {2} ",
"pdf2imgPath", "sourcePath", "targetPath");
textBox2.Text = String.Format("{0} -r 25 -f 1 -l 1 -i {1} -o {2} ",
"pdf2imgPath", "sourcePath", "targetPath");
------解决方案--------------------前面加@是忽略转义字符
------解决方案--------------------@可以取消字符串的转义,看如下代码:
string s1 = @"c:\windows
d:\windows
""hello world""";
string s2 = "c:\\windows\r\n" +
"d:\\windows\r\n" +
"\"hello world\"";
都表示
c:\windows
d:\windows
"Hello world"
------解决方案--------------------@在C#里面有2个作用。
1、取消转义
string s1 = @"c:
\windows"
string s1 = "c:
\\windows" --这里不用@就需要两个斜线了
string s3 = @"aaaaa
bbbb
cccc"; --还可以把一个字符串折行
2、屏蔽关键字
我们要把object作为一个方法的参数名字,这样写肯定是错误的,因为object是一个关键字。
public void test(string object)
{
}
加上@就对了:
public void test(string @object)
{
}