日期:2014-05-20  浏览次数:20803 次

求高手!!list.Add
for (int i = 0; i < 200; i++)
{
  for (int j = 0; j < 10; j++)
  {
  string str1 = (i+1).ToString() + "\t" + (j+1).ToString() + "\t" + T[i, j].ToString();
  list.Add(str1, 0);
  input.WriteFileDemo(list.Keys);
  }
 }
我的目的是只遍历一遍T[i, j],最终输出在excel中的数据形式如下:
1 1 899.9809563
1 2 929.4795403
1 3 951.9740172
1 4 973.6548401
1 5 994.9262364
1 6 1015.609344
1 7 1035.543251
1 8 1054.646312
1 9 1072.878702
1 10 1090.210777
1 11 1106.612445
2 1 899.9817394
2 2 929.4803623
2 3 951.9748769
2 4 973.6557325
2 5 994.9271582
2 6 1015.610292
2 7 1035.544222
2 8 1054.647304
2 9 1072.879711
2 10 1090.211801
2 11 1106.613481
。。。。
但实际上输出的数据格式却是这样的:
1 1 882.0961296
1 1 882.0961296
1 2 910.7970742
1 1 882.0961296
1 2 910.7970742
1 3 932.6691258
1 1 882.0961296
1 2 910.7970742
1 3 932.6691258
1 4 953.9605075
1 1 882.0961296
1 2 910.7970742
1 3 932.6691258
1 4 953.9605075
1 5 975.0243422
1 1 882.0961296
1 2 910.7970742
1 3 932.6691258
1 4 953.9605075
1 5 975.0243422
1 6 995.6658342
1 1 882.0961296
1 2 910.7970742
1 3 932.6691258
1 4 953.9605075
1 5 975.0243422
1 6 995.6658342
1 7 1015.717502
1 1 882.0961296
1 2 910.7970742
1 3 932.6691258
1 4 953.9605075
1 5 975.0243422
1 6 995.6658342
1 7 1015.717502
1 8 1035.086379
1 1 882.0961296
1 2 910.7970742
1 3 932.6691258
1 4 953.9605075
1 5 975.0243422
1 6 995.6658342
1 7 1015.717502
1 8 1035.086379
1 9 1053.716238
1 1 882.0961296
1 2 910.7970742
1 3 932.6691258
1 4 953.9605075
1 5 975.0243422
1 6 995.6658342
1 7 1015.717502
1 8 1035.086379
1 9 1053.716238
1 10 1071.558156
1 1 882.0961296
1 2 910.7970742
1 3 932.6691258
1 4 953.9605075
1 5 975.0243422
1 6 995.6658342
1 7 1015.717502
1 8 1035.086379
1 9 1053.716238
1 10 1071.558156
1 11 1088.56122


请问为什么输出总是显示先前的数据呢,是list.Add()这个语句有问题吗,如果我想输出理想的那个形式,应该用哪个语句呢??谢谢大家了!

------解决方案--------------------
input.WriteFileDemo(list.Keys);
这句话你放循环里了。放到外面。

for (int i = 0; i < 200; i++)
{
for (int j = 0; j < 10; j++)
{
string str1 = (i+1).ToString() + "\t" + (j+1).ToString() + "\t" + T[i, j].ToString();
list.Add(str1, 0);
}
 }
 
 input.WriteFileDemo(list.Keys);

------解决方案--------------------
for (int i = 0; i < 200; i++)
{
for (int j = 0; j < 10; j++)
{
string str1 = (i+1).ToString() + "\t" + (j+1).ToString() + "\t" + T[i, j].ToString();
input.WriteFileDemo(list.Keys);
}
list.Add(str1, 0); 
}
你这样试试!!!!