字符串太长,无法放在一行中-VB.NET

字符串太长,无法放在一行中-VB.NET,vb.net,string,visual-studio,Vb.net,String,Visual Studio,我有一个长度为109000个字符的字符串,它不能放在一行上,我得到一个“行太长了。”错误。 我知道,使用普通代码,您可以在代码末尾执行“u”,如 this code is too long so I will use the _ this code acts like it is on the same line 但是在一个字符串中,它需要“\u1”作为字符串的一部分(它应该是这样的)。我找不到这方面的信息,所以这里是给你们的,stackoverflow。最大线长度为 Dim

我有一个长度为109000个字符的字符串,它不能放在一行上,我得到一个“行太长了。”错误。
我知道,使用普通代码,您可以在代码末尾执行“u”,如

    this code is too long so I will use the _
    this code acts like it is on the same line
但是在一个字符串中,它需要“\u1”作为字符串的一部分(它应该是这样的)。我找不到这方面的信息,所以这里是给你们的,stackoverflow。

最大线长度为
Dim longString As String = "loooooooooooooooooooooooooo" + _
"ooooooooooooooggggggg"
65535,这就是为什么会出现错误

有几种解决方案:

您可以使用
&

Dim s As String = "this code is too long so I will use the" &
                  "this code acts like it is on the same line"
注意:您也可以使用
+
连接字符串,但如果这样做,请确保您有严格的选项(
&
更安全,因为结果始终是字符串)。请参见此处两者之间的比较:

您可以使用字符串生成器。如果不断地向原始字符串添加字符串(尤其是在循环中这样做),这可能会更有效:


参见MSDN了解

为什么我没有想到that@FabiovbNewLine我的意思是在运行时,而不是在编码级别。好吧,但据我所知,问题是关于在代码中写入字符串,这就是为什么我要问的原因。对不起,如果我没有在顶部代码中指定它,您不应该在“&”之后使用“u”来表示您正在移动到下一行吗@马特Wilko@user3659330-否。请参阅状态“避免使用显式行继续字符”\u1”,而在语言允许的情况下使用隐式行继续。”
Dim sb As new StringBuilder
sb.Append("this code is too long so I will use the")
sb.Append("this code acts like it is on the same line")

Debug.Writeline(sb.ToString)