也许你有一个空行或没有^
. 因为您在此处访问字符串数组中的第二项:
textBox1.Text = line[1];
也许您想始终访问第一个元素,然后使用,0
因为索引是从零开始的:
textBox1.Text = line[0];
然而,更有意义的是
textBox1.Text += line[j];
因为无论如何你都在循环列。
但我只想阅读第 1 行和第 1 列 ...那怎么办?
然后你根本不需要循环:
string firstLinesColumnOne = lines.Length > 0 ? lines[0].Split('^')[0] : "";
textBox1.Text = firstLinesFirstColumn;
如果我想阅读每一列并显示到不同的文本框?示例文本文件是 row1 {ab cd ef} row2 {dc fc fd} row3 {dg hj ki} 所以输出应该是 textbox1 = column 1 textbox2 = column 2 textbox3 = column 3
假设您要将拆分的三列分配给三个文本框,并为文本框中文件中的每一行添加一个新行:
IEnumerable<String[]> lineColumns = lines
.Select(line => line.Split('^'));
textBox1.Lines = lineColumns.Select(cols => cols[0]).ToArray();
textBox2.Lines = lineColumns.Select(cols => cols[1]).ToArray();
textBox3.Lines = lineColumns.Select(cols => cols[2]).ToArray();