2012-05-25 6 views
-3

Я надеялся, что кто-то может предложить мне небольшую помощь здесь, пожалуйста. У меня есть текстовый файл, который имеет два столбца, и каждый столбец разделяется пробелом (""), первый столбец является строкой, а второй столбец является числовым.Как искать мой текстовый файл?

Что я пытаюсь прочитать числовое поле в текстовом поле1 и сопоставить его с каждым числовым полем в столбце2, и если число в текстовом поле1 не больше поля, то для копирования этой строки (столбец 1 и столбец 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) 
+0

На ваш вопрос? –

+0

Я пытаюсь прочитать числовое поле в текстовом поле1 и сопоставить его с каждым числовым полем в столбце2, и если числовое поле в текстовом поле1 не больше поля, а затем скопировать эту строку (столбец 1 и столбец 2) в другой текстовый файл , – user1413746

+0

Невероятно. Но каков ваш вопрос? –

ответ

2

Хотя заклинивание много логики, как это возможно в одном операторе может быть впечатляющим и может выиграть вам награду код-запутывания, иногда простое решение это просто легче читать, отлаживать и поддерживать:

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 

Я предполагаю, что если это не сработает для вас, будет намного легче понять, почему нет. Это еще одна строка кода для загрузки!

Смежные вопросы