C#中字符与字符串","比较返回false的原因咨询
问题原因及解决办法
核心问题:类型不匹配
odp[1]获取的是char类型的单个字符,而你用来比较的","是string类型(长度为1的字符串)。虽然控制台输出时两者显示的内容一样,但本质是不同类型的对象,所以无论是Equals方法还是==运算符都会返回false。
解决办法
有两种常见的修正方式:
- 直接用char类型的逗号进行比较:
string odp = "2,1"; bool abs = odp[1].Equals(','); // 或者用==运算符,效果一致 bool abs = odp[1] == ','; - 把char转成string后再和字符串逗号比较:
string odp = "2,1"; bool abs = odp[1].ToString().Equals(",");
内容的提问来源于stack exchange,提问作者Honza
相关产品推荐
相关产品推荐

