这个问题令我难过。我有一个变量,我在一个循环中共享,它没有递增。
有问题的变量是elrObject.currentLocation。有两种方法可以增加它 - 如果XML元素为空或者不是。
以下是代码:
if (reader.Name == "Cell")
{
if (reader.IsEmptyElement)
{
Response.Write("i ran<br>");
elrObject.currentLocation++;
}
else
{
while (reader.Read())
{
if (reader.IsStartElement())
{
//labels
if (elrObject.currentLocation >= elrObject.index && elrObject.currentLocation <= elrObject.index + elrObject.colSpan)
Response.Write("i ran again<br>");
Response.Write(elrObject.currentLocation + "<br>");
elrObject.currentLocation++;
}
if (reader.Name == "Cell")
break;
}
}
}
我得到的输出是:
0
1
2
3
5个
数字4表示XML元素为空且顶部循环运行时。我正在递增变量,但它不会显示我的数字4,它会完全跳过它并转到5.我确信上部循环正常运行并且在较低的循环之前,因为以下内容也会运行:
我跑了 我再次跑了答案 0 :(得分:4)
显示数字4不是假设。您没有
Response.Write(elrObject.currentLocation + "<br>");
中的
if (reader.IsEmptyElement)
块。