2011-08-03 77 views
0

的字符串strChkQoutes所述的含義包含(@ 「」 「」)在c)中#

IF(H15:H119=\"y\",IF(G15:G119=\"y\",1,0) 

以下值爲真(C#)。

strChkQoutes.Contains(@"""") 

我不明白這是什麼意思。如果我想將它轉換成Java,字符串strChkQoutes

IF(H15:H119="y",IF(G15:G119="y",1,0) 

以下值爲false(JAVA)。

strChkQoutes.contains("\"\"") 

.net和java中包含函數的區別是什麼?

+0

對不起,我糾正了它。 – guhai

回答

4

這裏的區別不在於方法,而在於傳遞給方法的字符串。

在C#逐字字符串文字中,@""""真的意味着一個雙引號字符。第一個內部"轉義第二個內部",因爲您不能使用反斜槓進行轉義。 Reference.

如果你沒有使用逐字字符串,在C#調用是這樣的:

strChkQuotes.Contains("\"") 

這是從你的Java字符串,其中包含連續逃脫雙引號不同並因此導致返回false。

1

@是java不具備的C#字符串字面值。在Java中,你必須避開你的字符串:.contains("\"")See here瞭解@literals如何解決。