我花了好几个小时试图修复这个问题,基本上我只希望在我的富文本框中显示我的文本文件中的第1列。
每列用空格(“”)
分隔当我运行以下编码时,它会显示所有列。
RichTextBox1.Text = System.IO.File.ReadAllText("Path")
Dim str1() As String = Nothing
Dim LinesList2 As New List(Of String)
For Each line1 In LinesList2
str1 = line1.Split(" "c)
If str1(0) = line1 Then
Dim Hold As String = Nothing
Hold = line1 & " " & str1(1).ToString
LinesList2.Add(Hold)
End If
Next
LinesList2.Sort()
For Each Str As String In LinesList2
RichTextBox1.AppendText(Str & Environment.NewLine)
Next
答案 0 :(得分:2)
使用LINQ可以更容易:
Dim firstColumnText = From line In System.IO.File.ReadLines(path)
Select line.Split(" "c)(0)
RichTextBox1.Text = String.Join(Environment.NewLine, firstColumnText)
除此之外,你在这里使用一个空列表:
' reads the whole file and set it as text for the RichTextBox '
RichTextBox1.Text = System.IO.File.ReadAllText(path)
' creates an empty List(Of String) '
Dim LinesList2 As New List(Of String)
' "Iterates" the empty list '
For Each line1 In LinesList2
' .....
答案 1 :(得分:1)
你没有在LinesList2中读取任何内容,因此任何一个循环内部都没有被执行。即使你这样做,行Hold = line1 & ...
似乎也包括整行。
答案 2 :(得分:0)
您正在添加整行
Hold = line1 & " " & str1(1).ToString
LinesList2.Add(Hold)
目的是什么?
str1(0) = line1
如果没有分裂,那只会是真的。
您需要调试line1和sr1()
答案 3 :(得分:0)
除非你遗漏了代码,否则你已经创建了LinesList2
但没有填充任何代码,因此无需循环。