如何在 C# 中检查两个字符串是否匹配或者其中一个字符串是否为空
我尝试了以下操作:
(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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
看起来您正在使用
|
而不是||
并且我不确定您是否将IsNullOrEmpty
定义为扩展方法,但您'重新使用()
来调用它。或者直接调用String.IsNullOrEmpty
。尝试以下操作
Looks like you're using
|
instead of||
and I'm not sure if you haveIsNullOrEmpty
defined as an extension method but you're mussing the()
to invoke it. That or just callString.IsNullOrEmpty
directly.Try the following
我不是 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).
您正在使用按位或 (|)。您需要逻辑或 (||)。
请注意,相等运算符 (==) 区分大小写。要进行不区分大小写的比较,请使用静态方法 String.Compare。
You're using bitwise OR (|). You need logical OR (||).
Note that the equality operator (==) is case sensitive. To do a case insensitive comparison use the static method String.Compare.
尝试这样代替:
Try it like this instead:
如果你想测试“这个字符串是否为空(或空)或等于另一个字符串”,那么只需说:
作为三元运算:
If you want to test for "Is this string null (or empty) or equal to another string", then just say that:
As a ternary operation: