【问题标题】:the meaning of Contains(@"""")) in c#C#中Contains(@""""))的含义
【发布时间】:2011-08-03 08:28:14
【问题描述】:

一个字符串strChkQoutes

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)

以下值为假(java)。

strChkQoutes.contains("\"\"")   

.net 和 java 中的 contains 函数有什么区别?

【问题讨论】:

    标签: c# java contains


    【解决方案1】:

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

    在 C# 逐字字符串文字中,@"""" 真正意味着一个双引号字符。第一个内部" 转义了第二个内部",因为您不能使用反斜杠进行转义。 Reference.

    如果您不使用逐字字符串文字,C# 调用将如下所示:

    strChkQuotes.Contains("\"")
    

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

    【讨论】:

      【解决方案2】:

      @ 是 java 没有的 C# 字符串文字。在 Java 中,您必须转义您的字符串:.contains("\"")See here 了解如何解析 @-literals。

      【讨论】:

        猜你喜欢
        • 2022-12-09
        • 2020-07-15
        • 2023-04-07
        • 1970-01-01
        • 1970-01-01
        • 2013-03-21
        • 2011-05-08
        • 2011-08-12
        • 1970-01-01
        相关资源
        最近更新 更多