-1

私はこの問題を解決するために何時間も費やしました。基本的には、テキストファイルの列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

4 に答える 4

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
    '  .....
于 2012-05-25T23:06:03.767 に答える
1

LinesList2には何も読み取っていないため、どちらのループ内でも何も実行されません。たとえHold = line1 & ...そうだとしても、行には行全体が含まれているようです。

于 2012-05-25T23:03:52.457 に答える
0

行全体を追加しています

    Hold = line1 & " " & str1(1).ToString
    LinesList2.Add(Hold)

そして、その目的は何ですか?

str1(0) = line1

これは、分割がなかった場合にのみ当てはまります。

line1とsr1()をデバッグする必要があります

于 2012-05-25T23:04:00.460 に答える
0

コードが欠落している場合を除いて、コードは作成されていますがLinesList2、何も入力されていないため、ループするものはありません。

于 2012-05-25T23:04:31.320 に答える