分类:
2006-01-10 21:34:10
1
下面一段代码在主Main()函数中
string[] IP = new string[lines_max];
......
for ( int k = 0; k
if (IP[k]==null)
{
Console.WriteLine("没IP可供选择");
break;
}
if (IP[k].Length > 0)
{
Console.WriteLine(k);
if (canBeUse(IP[k]))
{
useIP(IP[k]);
break;
}
Console.WriteLine(k);
}
}
这是一个控制台程序,如果运行的话,debug ,release两种情况下会产生不同的结果.主要是Console.WriteLine(k)的输出结果.
在debug下输出结果是一样的.
在release下k的值是不一样的,也就是说它被更改了.
没搞懂到底是哪儿出了问题,不过想到此k变量在堆栈中被改变了,不如设成static试试.在Main()外加了一个
public static int k;
就通过了,debug,release下的结果一致.