求助: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是分界线,因为文档是作为一个系统的输入文件用的,需要一个分界线。
谢谢。
[解决办法]
手打,未验证
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..");}
[解决办法]
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("好了");