c#赋值问题?
初学,对于赋值问题不知道如何处理,望大家指教。
int s =0
for(int i=0;i<5;i++)
{
int tmpS=0;
dt = GetDataTable(xx)
for (int x=0;x<dt.Rows.Count;x++)
{
tmpS=int.Parse(dt.Rows[i][0].toString());
}
if (s==0)
{
s=tmpS;
}else if(...)
{
...
}
}
如上for循环,s和tmpS指向一样,每次循环都被初始化为0,所以下面的if语句一直都是true.不知道有没有人帮忙看一下如何解决。。
[解决办法]
你定义的s自始至终就没有改变啊,一直是0呢。
[解决办法]
for (int x=0;x<dt.Rows.Count;x++)
{
tmpS=int.Parse(dt.Rows[i][0].toString());
}
tmps=dt行中的最后一个值。你循环没意义了。是否是tmps+=?
[解决办法]
int 不是引用类型 所以不存在S和TMPS指向问题
在你的循环中的最后一次循环
int.Parse(dt.Rows[i][0].toString());
最后一条是0 TMPS是0
另外 如果S不等于0后
if (s==0)
{
s=tmpS;
}else if(...)
{
...
}
会走else if
S的值不会根据TMPS改变 同样也不会有你所说的初始化问题
[解决办法]