2012-05-19 46 views
0

早在VB6,你能夠重新分配字符串的值本身加上其他字符串值,如:VB.NET指定字符串值----的String1 = String1中+ String2的

str_Duplications_Line = str_Duplications_Line & pRow_Prime.Value(i_FieldNum) 

現在,智能感知不拿起它作爲一個錯誤,也不是編譯器的抱怨,但是當它跑,它彈了上線等多個線路,如這些:

str_Duplications_Line = str_Duplications_Line & "," 

str_Duplications_AllFields = str_Duplications_AllFields + str_Duplications_Line + vbCrLf 

任何想法,這是爲什麼發生,以及我如何解決這個問題?或者至少,在VB.NET中模擬相同的東西?

+4

「炸彈爆炸」?有錯誤嗎?錯誤通常包含有關出錯的有用信息。 '+'和'&'操作符都可以用來連接字符串。有點相關:http://stackoverflow.com/questions/3006153/vb-net-ampersand-vs-plus-for-concatenating-string – David

+0

你是什麼意思'炸彈出'?你遇到了什麼錯誤? – jams

回答

3

這裏是性差異&+

"abc" + "def" = "abcdef" 
"abc" & "def" = "abcdef" 
"111" + "222" = "111222" 
"111" & "222" = "111222" 
"111" & 222 = "111222" 
"111" + 222 = 333 
"abc" + 222 = conversion error 

之間

如果任何一個操作數爲null,你可能會得到一個錯誤。

+1

當然,如果你有Option Strict On,那麼'「111」+ 222'和'「abc」+ 222'將不會編譯 –

+0

@MattWilko:哦!完全被遺忘了。謝啦... –

2

確保你沒有試圖連接一空到您的字符串

+1

我會做一個if-then語句來確保它不分配空值謝謝! –

+0

但是將null連接到VB中的字符串不合法嗎? AFAICR null被視爲空字符串「」 – MarkJ

相關問題