值相同时循环不会进入内部

时间:2018-08-27 11:41:01

标签: c#

您可以看到该值是74,但是如果不行,它不在内部? enter image description here

1 个答案:

答案 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()); 

这样,如果您遇到没有数字的情况,则可以验证并向用户或您想要的任何东西投诉。