-3

私は誰かが私にここで少し助けを提供してくれることを望んでいました。2つの列があり、各列がスペース( "")で区切られているテキストファイルがあります。最初の列は文字列で、2番目の列は数値フィールドです。

私が試しているのは、textbox1の数値フィールドを読み取り、それをcolumn2のすべての数値フィールドと照合し、textbox1の数値がフィールドより大きくない場合は、その行(column1とcolumn 2)を別のテキストファイルにコピーすることです。

これまでに次のコーディングを行っています。

Dim l1Infos = Textbox1.text
        Select New With {.Line = l1, .Tokens = l1.Split(" "c)}
        Dim result = From l1 In l1Infos
                     Join l2 In IO.File.ReadAllLines("C:\Test2",)
                     On l1.Tokens(0) Equals l2
                     Select l1.Line
        IO.File.WriteAllLines("C:\Test2", result)
4

1 に答える 1

2

可能な限り多くのロジックを1つのステートメントに詰め込むことは印象的であり、コード難読化賞を受賞する可能性がありますが、単純なソリューションの方が読みやすく、デバッグしやすく、保守しやすい場合もあります。

    Dim maxValue As Integer = Integer.Parse(TextBox1.Text)
    For Each line As String In File.ReadAllLines("C:\Test1")
        If Integer.Parse(line.Split(" "c)(1)) < maxValue Then
            File.AppendAllText("C:\Test2", line)
        End If
    Next

それがうまくいかない場合は、その理由を理解するのがはるかに簡単になると思います。起動するコードがさらに1行少なくなります。

于 2012-05-25T13:24:07.200 に答える