答案 0 :(得分:3)
因为TEMP
中有空格。 " 74"
。这两个值不相等,因为第二个TEMP2
是"74"
,没有空格。
尝试在您的值上使用Trim
删除空格:
string temp = ids[i].Trim();
string temp2 = raditem.Value.ToString().Trim();
此外,请始终使用the .Equals overload for the String
class,因为您可以控制字符串比较的区域性。在这种情况下,这并不重要,因为它们是数字,但是如果要与字母字符串进行比较,则希望“ A”等于“ a”,依此类推。
此外,如果您确定数组仅包含数字,则建议在比较它们之前将值转换为数字。
// one way to validate is wrap this in a try-catch and handle input format error.
int temp = Convert.ToInt32(ids[i].Trim());
这样,如果您遇到没有数字的情况,则可以验证并向用户或您想要的任何东西投诉。