日期:2014-05-18  浏览次数:21318 次

求助:C#数组循环输出。
一个二维数组,想输出到文档中,格式如下:

1 6 11 16 21 26
2 7 12 17 22 27  
3 8 13 18 23 28  
4 9 14 19 24 29  
5 10 15 20 25 30
A A A A A A
31 36 41 46 51 56  
32 37 42 47 52 57  
33 38 43 48 53 58  
34 39 44 49 54 59  
35 40 45 50 55 60  
A A A A A A  

其中,A是分界线,因为文档是作为一个系统的输入文件用的,需要一个分界线。

谢谢。

------解决方案--------------------
手打,未验证

C# code

int counter=0;
for(int i=0;i<array.Length;i++){
  string lin="";
  for(int j=0;j<array[i].Length;j++){
    lin+=array[i][j]+" ";
  }
  lin=lin.Trim();
  writeline2file(lin);
  counter++
  if(counter%=5)
    writeline2file("A A A A A..");
}

------解决方案--------------------
探讨
一个二维数组,想输出到文档中,格式如下:

1 6 11 16 21 26
2 7 12 17 22 27
3 8 13 18 23 28
4 9 14 19 24 29
5 10 15 20 25 30
A A A A A A
31 36 41 46……

------解决方案--------------------
C# code
StringBuilder value = new StringBuilder();
            int length = 1000000;
            int rowlength = 5;
            int collength = 1 + rowlength;
            int ilength = (int)Math.Ceiling((double)(length / rowlength));
            int mod = length % collength;
            if (mod == 0)
            {
                mod = collength;
            }
            int mini = 0;
            for (int i = 1; i <= ilength; i++)
            {
                int jlength;
                if (i < ilength)
                {
                    jlength = collength;
                }
                else
                {
                    jlength = mod;
                }                
                for (int j = 0; j < jlength-1; j++)
                {
                    value.AppendFormat("{0} ",i+ mini + j * rowlength);
                }
                value.AppendFormat("{0}\r\n", i + mini + (jlength - 1) * rowlength);
                if (i % rowlength == 0)
                {
                    value.Append("A A A A A A\r\n");
                    mini += rowlength * rowlength;
                }
            }
            using (StreamWriter sw = new StreamWriter("./1.txt", false, System.Text.Encoding.UTF8, 8196))
            {
                sw.Write(value.ToString());               
            };
            MessageBox.Show("好了");