我尝试了以下几种方法:
(id == title) | (id.IsNullOrEmpty) ? "class='enabled'" : ""
但它会给出一条消息:“错误22运算符'|‘不能应用于'bool’和'method group‘类型的操作数”
谁能告诉我出了什么问题。id和title都是字符串。
发布于 2011-09-09 22:59:31
您正在使用按位OR (|)。您需要逻辑或(||)。
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).
}
发布于 2011-09-09 22:43:42
看起来您使用的是|
而不是||
,我不确定您是否已将IsNullOrEmpty
定义为扩展方法,但您将使用()
来调用它。或者直接调用String.IsNullOrEmpty
。
请尝试以下操作
(id == title || String.IsNullOrEmpty(id)) ? "class='enabled'" : ""
发布于 2011-09-09 22:43:16
我不是C#开发人员,但请尝试||而不是|。运算符之间的区别在这里http://msdn.microsoft.com/en-us/library/aa691310(v=vs.71).aspx解释。
另外,在C#中比较字符串的正确方法是使用==
吗?在Java中,你需要使用.equals()
。
(更新:显然|与按位运算符无关)。
https://stackoverflow.com/questions/7363390
复制相似问题