gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 15:11:05 26 4
gpt4 key购买 nike

有没有办法方便地在 Visual Basic 源代码中存储长字符串文字?
我正在用 --help 编写一个控制台应用程序打印输出让我们说 20 行长。

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

感谢您提前提供好的提示!

最佳答案

更新:

在 Visual Studio 2015 附带的 VB.NET 14 中,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# 字符串文字库中使用 @ 来实现。句法。或者,您可能决定将它放在文字中并不是真正必要的,并且将文本存储为字符串资源是可以接受的。或者,您也可以选择将字符串存储在外部数据文件中并在运行时加载它。

关于vb.net - 如何在 Visual Basic .NET 中指定长字符串文字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18510247/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com