vb.net string concat将vbCrlf文字添加到字符串中

时间:2017-10-19 03:05:17

标签: asp.net string vb.net

我正在尝试构建一个包含换行符的字符串,并获得最奇怪的结果。此字符串将存储在SQL数据库中,以便稍后用作电子邮件的一部分。我的代码如下:

Dim strBody As String = "Andy," & Environment.NewLine

当我在调试会话期间检查strBody的值时,它是以下内容:

"Andy," & vbCrlf

我显然希望更像是:

"Andy,"

知道,之后的内容是隐藏的角色。

最终,问题是......当我将strBody作为我的SQL insert语句的一部分包含在内时,它在我的SQL insert语句中显示为以下内容:

'Andy," & vbCrLf & "'

我昨天使用此代码并且工作正常。我在同一个asp.net项目的另一个函数中使用类似的代码,它工作正常。我尝试使用+代替&,我尝试使用vbCrLf代替Environment.NewLine,我尝试使用stringbuilder,我尝试过使用string.concat& vbCrLf中包含strBody的所有结果都相同。

我是否有意外更改的设置?

我知道这很奇怪......非常感谢任何帮助。

3 个答案:

答案 0 :(得分:0)

我相信你需要使用Char(10)和Char(13)的某些组合:

fun String.replaceSpaces(): String {
    return this.replace(' ', '_')
}

val formatted = str.replaceSpaces()

There is a discussion about these and other methods on this thread.

答案 1 :(得分:0)

这只是Visual Studio,显示有新行字符(vbCrLf或Environment.NewLine)。如果您在任何地方使用该字符串,它将被正确存储。

答案 2 :(得分:0)

如果只需要在数据库中插入Environment.NewLine,就可以这样做。

Dim a As String = """ & Environment.NewLine & """
Dim strBody As String = String.Format("Andy,{0}", a)

'"Andy," & Environment.NewLine & ""