c#中Contains(@""")的含义

本文关键字:quot Contains | 更新日期: 2023-09-27 18:04:34

字符串strChkQoutes

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

下面的值为true(c#)。

strChkQoutes.Contains(@"""")
我不明白它的意思。如果我想把它转换成java,字符串strChkQoutes
IF(H15:H119="y",IF(G15:G119="y",1,0)

以下值为false(java)。

strChkQoutes.contains("'"'"")   

.net和java中的contains函数有什么不同?

c#中Contains(@""")的含义

这里的区别不在于方法,而在于传递给方法的字符串。

在c#逐字字符串字面量中,@""""实际上表示一个双引号字符。第一个内部"转义第二个内部",因为您不能使用反斜杠进行转义。参考。

如果您不使用逐字字符串字面值,c#调用将看起来像这样:

strChkQuotes.Contains("'"")

与Java字符串不同,Java字符串包含两个转义双引号,因此导致contains()返回false。

@是一个java没有的c#字符串文字。在Java中,您必须转义字符串:.contains("'"")