2009-12-10 53 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# 
相關問題