如何在 C# 中检查两个字符串是否匹配或者其中一个字符串是否为空

发布于 2024-12-03 16:04:01 字数 206 浏览 2 评论 0原文

我尝试了以下操作:

(id == title) | (id.IsNullOrEmpty) ? "class='enabled'" : ""

但它给出一条消息“Error 22 Operator '|'”不能应用于“bool”和“method group”类型的操作数

谁能告诉我 id 和 title 都是字符串。

I tried the following:

(id == title) | (id.IsNullOrEmpty) ? "class='enabled'" : ""

But it gives a message saying "Error 22 Operator '|' cannot be applied to operands of type 'bool' and 'method group'

Can anyone tell me what's wrong. Both id and title are strings.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

吾性傲以野 2024-12-10 16:04:01

看起来您正在使用 | 而不是 || 并且我不确定您是否将 IsNullOrEmpty 定义为扩展方法,但您'重新使用 () 来调用它。或者直接调用 String.IsNullOrEmpty

尝试以下操作

(id == title || String.IsNullOrEmpty(id)) ? "class='enabled'" : ""

Looks like you're using | instead of || and I'm not sure if you have IsNullOrEmpty defined as an extension method but you're mussing the () to invoke it. That or just call String.IsNullOrEmpty directly.

Try the following

(id == title || String.IsNullOrEmpty(id)) ? "class='enabled'" : ""
一生独一 2024-12-10 16:04:01

我不是 C# 开发人员,但请尝试 ||而不是|。此处解释了运算符之间的差异 http:// msdn.microsoft.com/en-us/library/aa691310(v=vs.71).aspx

另外, == 是 C# 中比较字符串的正确方法吗?在 Java 中,您需要使用 .equals()

(更新:显然 | 与按位运算符无关)。

I'm not a C# developer, but try || instead of |. The difference between the operators is explained here http://msdn.microsoft.com/en-us/library/aa691310(v=vs.71).aspx.

Also, is == the correct way to compare strings in C#? In Java you need to use .equals().

(UPDATED: apparently | is nothing to do with the bitwise operator).

花桑 2024-12-10 16:04:01

您正在使用按位或 (|)。您需要逻辑或 (||)。

if ( id == null || id == title )
{
   // id is null or id equals title.
}

请注意,相等运算符 (==) 区分大小写。要进行不区分大小写的比较,请使用静态方法 String.Compare。

if ( id == null || String.Compare( id, title, true ) == 0 )
{
   // id is null or id equals title (ignoring case).
}

You're using bitwise OR (|). You need logical OR (||).

if ( id == null || id == title )
{
   // id is null or id equals title.
}

Note that the equality operator (==) is case sensitive. To do a case insensitive comparison use the static method String.Compare.

if ( id == null || String.Compare( id, title, true ) == 0 )
{
   // id is null or id equals title (ignoring case).
}
﹂绝世的画 2024-12-10 16:04:01

尝试这样代替:

(id == title) || id.IsNullOrEmpty() ? "class='enabled'" : ""

Try it like this instead:

(id == title) || id.IsNullOrEmpty() ? "class='enabled'" : ""
挽袖吟 2024-12-10 16:04:01

如果你想测试“这个字符串是否为空(或空)或等于另一个字符串”,那么只需说:

if (string.IsNullOrEmpty(id) || id.Equals(title))
{
    // Code here
}

作为三元运算:

var result = (string.IsNullOrEmpty(id) || id.Equals(title) ? "class='enabled'" : "";

If you want to test for "Is this string null (or empty) or equal to another string", then just say that:

if (string.IsNullOrEmpty(id) || id.Equals(title))
{
    // Code here
}

As a ternary operation:

var result = (string.IsNullOrEmpty(id) || id.Equals(title) ? "class='enabled'" : "";
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文