首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在C#中检查两个字符串是否匹配或其中一个字符串是否为null

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

Stack Overflow用户
提问于 2011-09-09 22:42:18
回答 5查看 801关注 0票数 3

我尝试了以下几种方法:

代码语言:javascript
运行
复制
(id == title) | (id.IsNullOrEmpty) ? "class='enabled'" : ""

但它会给出一条消息:“错误22运算符'|‘不能应用于'bool’和'method group‘类型的操作数”

谁能告诉我出了什么问题。id和title都是字符串。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2011-09-09 22:59:31

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

代码语言:javascript
运行
复制
if ( id == null || id == title )
{
   // id is null or id equals title.
}

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

代码语言:javascript
运行
复制
if ( id == null || String.Compare( id, title, true ) == 0 )
{
   // id is null or id equals title (ignoring case).
}
票数 0
EN

Stack Overflow用户

发布于 2011-09-09 22:43:42

看起来您使用的是|而不是||,我不确定您是否已将IsNullOrEmpty定义为扩展方法,但您将使用()来调用它。或者直接调用String.IsNullOrEmpty

请尝试以下操作

代码语言:javascript
运行
复制
(id == title || String.IsNullOrEmpty(id)) ? "class='enabled'" : ""
票数 10
EN

Stack Overflow用户

发布于 2011-09-09 22:43:16

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

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

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

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7363390

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档