这阵子比较忙,比较少在论坛回答问题 今天浏览了一下,又看到一题,准备抢分了!!! 这一题是说要将文字横排变竖排后写到另一个本文 private void button1_Click(object sender, EventArgs e) { string path = string.Format("{0}//aaa.txt",Application.StartupPath); StreamReader sr = new StreamReader(new FileStream(path, FileMode.Open)); string read = sr.ReadToEnd(); sr.Close(); string[] split = read.Split(new char[] { '/r','/n' }, StringSplitOptions.RemoveEmptyEntries); string[] result = ConvertToVerticalText(split); path = string.Format("{0}//result.txt",Application.StartupPath); StreamWriter sw = new StreamWriter(new FileStream(path, FileMode.CreateNew)); foreach (string s in result) { sw.WriteLine(s); } sw.Close(); } string[] ConvertToVerticalText(string[] input) { int max = 0; for (int i = 0; i < input.Length; i++) { max = input[i].Length > max ? input[i].Length : max; } string[] result = new string[max]; for (int i = 0; i < input.Length; i++) { for (int inputIndex = 0; inputIndex < max; inputIndex++) { if (inputIndex < input[i].Length) result[inputIndex] += input[i][inputIndex]; else result[inputIndex] += " "; } } return result; } 测试本文及结果: 转换前: 123456 abcde ghija aac bbb 转换结果: 1agab 2bhab 3cicb 4dj 5ea 6