错误119操作员'&&'不能应用于'int'和'int'类型的操作数

时间:2015-01-16 10:36:59

标签: c#

我的代码是什么问题

(String.Compare(Reader["Uname"].ToString(), user.ToString()) 
&& String.Compare(Reader["Pname"].ToString(), pass.ToString()))

3 个答案:

答案 0 :(得分:2)

您可能想要使用String.Equals:

(String.Equals(Reader["Uname"].ToString(), user.ToString()) 
&& String.Equals(Reader["Pname"].ToString(), pass.ToString()))

如果一个大于另一个(1 / -1)进行排序,则返回String.Compare,如果它们是等于,则返回0。

答案 1 :(得分:1)

String.Compare比较两个指定的String个对象,并返回整数,表示它们在排序顺序中的相对位置。

因此,如您所料,它会返回int而不是bool。并且&&运算符无法应用于int,仅适用于bool

答案 2 :(得分:0)

错误消息说的是什么。 String.Compare()返回-1,0或1,具体取决于比较字符串的排序顺序。 '&&'运算符保留给布尔值,C#不能将布尔值转换为整数,反之亦然。