有没有办法在Visual Basic源中方便地存储长字符串文字?
我正在用–help printout编写一个控制台应用程序让我们说20行.
我正在用–help printout编写一个控制台应用程序让我们说20行.
最受欢迎的是在我可以管理的源代码中的原始文本区域
输出文字1:1.许多语言都提供HEREDOC功能.在VB中,我找不到它.
但也许这可以通过LINQ(XML)以某种方式欺骗?
提前感谢您提供的好建议!
更新:
原文链接:https://www.f2er.com/vb/255828.html在VB.NET 14中,随Visual Studio 2015,all string literals support multiple lines一起提供.在VB.NET 14中,所有字符串文字都像C#中的逐字字符串文字一样工作.例如:
Dim longString = "line 1 line 2 line 3"
原答案:
c#使用@符号(称为逐字字符串)有一个方便的多行字符串文字语法,但不幸的是VB.NET没有直接等效的(这不再是真的 – 请参阅上面的更新).但是,还有其他几种选择,您仍然可以找到帮助.
选项1:简单连接
Dim longString As String = "line 1" & Environment.NewLine & "line 2" & Environment.NewLine & "line 3"
或者较少的.NET纯粹主义者可以选择:
Dim longString As String = "line 1" & vbCrLf & "line 2" & vbCrLf & "line 3"
选项2:字符串生成器
Dim builder As New StringBuilder() builder.AppendLine("line 1") builder.AppendLine("line 2") builder.AppendLine("line 3") Dim longString As String = builder.ToString()
选项3:XML
Dim longString As String = <x>line 1 line 2 line 3</x>.Value
选项4:数组
Dim longString As String = String.Join(Environment.NewLine,{ "line 1","line 2","line 3"})
其他选择
您可能还想考虑其他替代方案.例如,如果你真的希望它是代码中的文字,你可以在一个小的c#字符串文字库中进行,你可以使用@语法.或者,您可能认为在文字中使用它并不是必需的,将文本存储为字符串资源是可以接受的.或者,您也可以选择将字符串存储在外部数据文件中并在运行时加载它.