为什么我的编码不起作用?试图在richtextbox中显示数据

时间:2012-05-25 22:59:51

标签: .net vb.net vb.net-2010

我花了好几个小时试图修复这个问题,基本上我只希望在我的富文本框中显示我的文本文件中的第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

4 个答案:

答案 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但没有填充任何代码,因此无需循环。