C#sytax中是否有定义新行的方法? (比如VB _)
示例:
而不是:
string myStr = "very long string" +
"another long string";
此:
string myStr = "very long string \something
another long string"
或者;编译器处理这个并执行类似的操作; “string”+“string” - >在这个例子中是“stringstring”吗?
欢迎不同的情况,比如这些字符串是常量等等。
答案 0 :(得分:22)
编译器将“ABC”+“DEF”变成“ABCDEF”,因此使用+
是免费的答案 1 :(得分:19)
您可以使用
string myStr = @"very long string
another long string";
@“是字符串文字的开头,这种字符串在找到下一个”字符“之前不会结束。
c#没有确切的语法与vb中的_字符完全相同。因此,如果您想避免包含新行,则必须手动将字符串连接到不同的行。
答案 2 :(得分:3)
我相信你要找的是C#行延续字符。
停止寻找。空无一人。在C#中,当分号“;”时,行结束到了。
因此,正如其他人所提到的,如果你想要分解字符串赋值,只需使用'+'字符。
namespace Jaberwocky
{
class Program
{
public static void Main(string[] args)
{
string s = "Hello World! " +
"This is a long string " +
"That continues on and " +
"on and on and on.";
Console.WriteLine(s);
Console.ReadKey(true);
}
}
}
答案 3 :(得分:-3)
应尽可能使用StringBuilder来连接字符串,因为它运行得比仅使用“this”+“that”更快。