vb.net – 如何在Visual Basic .NET中指定长字符串文字?

前端之家收集整理的这篇文章主要介绍了vb.net – 如何在Visual Basic .NET中指定长字符串文字?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
有没有办法在Visual Basic源中方便地存储长字符串文字
我正在用–help printout编写一个控制台应用程序让我们说20行.

最受欢迎的是在我可以管理的源代码中的原始文本区域
输出文字1:1.许多语言都提供HEREDOC功能.在VB中,我找不到它.
但也许这可以通过LINQ(XML)以某种方式欺骗?

提前感谢您提供的好建议!

更新:

在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#字符串文字库中进行,你可以使用@语法.或者,您可能认为在文字中使用它并不是必需的,将文本存储为字符串资源是可以接受的.或者,您也可以选择将字符串存储在外部数据文件中并在运行时加载它.

原文链接:https://www.f2er.com/vb/255828.html

猜你在找的VB相关文章