这段循环错在哪里呢?请大家帮忙看看
string strWithoutPingjun="";
int h=0;
foreach(DataRow row in ds1.Tables["pijszbcfg"].Rows)
{
for(h=0;h<=m;h++)
{
if(row["jsgs"].ToString().Substring(0,7).ToLower() == "pingjun")
{
strWithoutPingjun=row["jsgs"].ToString().Substring(8,row["jsgs"].ToString().Length-8).ToLower();
strWithoutPingjun = strWithoutPingjun.Replace(")", "").Replace("(", "").Trim();
if(strWithoutPingjun != "a")
{
string[] arrStrSplit = strWithoutPingjun.Split(','); //用逗号分隔字符串
int iCount=0;
int iValue=0;
for( int i=1; i<=int.Parse(arrStrSplit[0]); i++)
{
if(arrSign[int.Parse(arrStrSplit[i])] == "T")
{
iCount++;
iValue += int.Parse(arrStrSplit[i]);
iValue=System.Convert.ToInt16(rvals[int.Parse(arrStrSplit[i])]);
}
}
if(iValue != 0)
{
m_f[h]=(iValue/iCount).ToString(); //返回值
}
else
{
m_f[h]=row["desivalue"].ToString(); //返回其它值
}
}
else
{
m_f[h]=row["desivalue"].ToString(); //返回其它值
}
txtrh2.Text=m_f[0];
txtjx2.Text=m_f[1];
txtlx2.Text=m_f[2];
}
}
}
请帮忙看一下,这段循环有错吗?为什么我用textbox控件(txtrh2.Text=m_f[0];
txtjx2.Text=m_f[1];txtlx2.Text=m_f[2];)测的值都为零呢?
问题点数:20、回复次数:11Top
1 楼liusuccess(减肥成功)回复于 2003-12-03 08:59:17 得分 5
你单步跟踪一下啊Top
2 楼aoyo(遨游~ 认真生活,努力微笑^_^)回复于 2003-12-03 09:06:21 得分 0
for( int i=1; i<=int.Parse(arrStrSplit[0]); i++)
是不是应该这样for( int i=1; i<=arrStrSplit.Length; i++)
Top
3 楼purplelq()回复于 2003-12-03 09:07:13 得分 0
是逐步显示一下的意思吗?我试过的,前面测的都有值,就是在循环外textbox控件中
总显示值为零.请再说的详细一点好吗?Top
4 楼purplelq()回复于 2003-12-03 09:15:14 得分 0
To aoyo:不对的,譬如,我取的字符串strWithoutPingjun=2,23,24
我用string[] arrStrSplit = strWithoutPingjun.Split(',');
分隔它,得到的arrStrSplit[0]=2作为i的长度Top
5 楼purplelq()回复于 2003-12-03 09:39:14 得分 0
up 一下Top
6 楼brightheroes(在地狱中仰望天堂)回复于 2003-12-03 09:46:45 得分 15
设置断点跟踪到
if(iValue != 0)
{
m_f[h]=(iValue/iCount).ToString(); //返回值
}
else
{
m_f[h]=row["desivalue"].ToString(); //返回其它值
}
}
else
{
m_f[h]=row["desivalue"].ToString(); //返回其它值
}
txtrh2.Text=m_f[0];
txtjx2.Text=m_f[1];
txtlx2.Text=m_f[2];
这里看看
而且,感觉这段程序的可读性很差,搂主不要骂我
一般来说,3层嵌套就可以了,再多了就很麻烦,一不小心就会出错
建议重新写过
Top
7 楼citymeteor(流星)回复于 2003-12-03 09:51:03 得分 0
哎,这样的写法,真是不好调试Top
8 楼purplelq()回复于 2003-12-03 11:04:05 得分 0
是哦,我现在还在一步一步调试,请大家再多给点意见
我都要急死了Top
9 楼purplelq()回复于 2003-12-04 14:20:04 得分 0
我用单步跟踪试了,每一步是能取到值,但是控件中只有txtrh2.Text有值,txtjx2.Text和
txtlx2.Text中都为空,运行后还是全为零.
我现在的想法就是在上面的程序中,每遍历表里一行算出一个iValue值,
然后做判断(是否等于零),然后将(iValue/iCount).ToString()的
值(或设计值)依次赋给m_f[h](h=0,1,2,3,4...38),我现在不知道该
把对h的循环放在哪里。
请大家帮帮忙,我真是搅糊涂了Top
10 楼98049522(Napoleon Bonaparte)回复于 2003-12-04 15:17:04 得分 0
upTop
11 楼purplelq()回复于 2003-12-04 16:01:42 得分 0
是不是我说的太模糊了,为什么没有人帮帮我呢?请大虾们发个话吧Top




