2009-12-10 52 views
1

如果我需要逃脱一个字符串我用两个连续的双引号如下内的双引号字符:如何转义VB.NET字符串文字中的#字符?

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

但是,它似乎并不像连续#的工作方式相同。编译器期望编译器指令能够跟随#字符,即使它被括在双引号中。如何告诉编译器我想在我的字符串中包含一个#字符?

谢谢!

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

回答

10

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

Dim test = "#" ' no error 
+0

+1对你来说......看起来你比我快一点。 – David 2009-12-10 22:54:50

-3
Dim name = @"#cakes" As String 

Dim name = "\#cakes" As String 
+5

这是C#字符串和VB.Net变量声明 – MarkJ 2009-12-11 00:31:55

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 
原样

工作正常

+0

+1进行测试;) – 2009-12-10 22:55:27

3

我没有看到的行为(我把写了一个全新的Windows应用程序只是为了确保在那一个时间。)你描述过。下面的代码在Visual Studio 2008中编译得很好:

Dim x = "#hello" 

你运行的是什么版本的Visual Studio,你能给出一个更完整的示例吗?

2

呃?没有编译器错误在这里:

Dim s as String = "Hello # there" 
1

您是否试图建立一个DateTime文字?

Dim d as DateTime = #12/10/2009# 
相关问题