如果我需要在字符串文字中转义双引号字符,我会使用两个连续的双引号,如下所示:
Dim name = "Chuck ""Iceman"" Liddell"
但是,似乎连续#的工作方式不一样。编译器期望编译器指令遵循#字符,即使它用双引号括起来。如何告诉编译器我的字符串中需要一个#字符?
谢谢!
编辑:,如下面的一些答案所指出的,#
不是保留字符。我在Visual Studio中关闭了我的解决方案并重新打开它,并且不再让编译器曲线警告我。谢谢!
答案 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