我的代码是什么问题
(String.Compare(Reader["Uname"].ToString(), user.ToString())
&& String.Compare(Reader["Pname"].ToString(), pass.ToString()))
答案 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#不能将布尔值转换为整数,反之亦然。