如何在VB.NET字符串文字中转义#字符?

时间:2009-12-10 22:48:55

标签: .net vb.net escaping

如果我需要在字符串文字中转义双引号字符,我会使用两个连续的双引号,如下所示:

Dim name = "Chuck ""Iceman"" Liddell"

但是,似乎连续#的工作方式不一样。编译器期望编译器指令遵循#字符,即使它用双引号括起来。如何告诉编译器我的字符串中需要一个#字符?

谢谢!

编辑:,如下面的一些答案所指出的,#不是保留字符。我在Visual Studio中关闭了我的解决方案并重新打开它,并且不再让编译器曲线警告我。谢谢!

6 个答案:

答案 0 :(得分:10)

#不是VB.NET字符串文字中的保留字符。

Dim test = "#" ' no error

答案 1 :(得分:5)

你不需要逃避它。代码:

Public Class Form1

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        MessageBox.Show("We're #1")
    End Sub
End Class

按原样正常工作

(我花时间编写了一个全新的Windows应用程序,以确保该应用程序。)

答案 2 :(得分:3)

我没有看到你描述的行为。以下在Visual Studio 2008中编译得很好

Dim x = "#hello"

您运行的是哪个版本的Visual Studio,是否可以提供更完整的示例?

答案 3 :(得分:2)

是吗?这里没有编译器错误:

Dim s as String = "Hello # there"

答案 4 :(得分:1)

您是否尝试构建DateTime文字?

Dim d as DateTime = #12/10/2009#

答案 5 :(得分:-3)

Dim name = @"#cakes" As String

Dim name = "\#cakes" As String