尝试线性搜索文件以找到以用户名开头的行(以及","因为它确保它是整个用户名)在格式为"的文件中, ,,"对于每一行。
我不确定如何做到这一点,所以感谢任何帮助。
Dim lineCorrect As String = ""
Using reader As New System.IO.StreamReader("Pass.txt")
While Not reader.EndOfStream
If reader.ReadLine.StartsWith(tbUsernameLogIn.Text & ",") = True Then
lineCorrect = reader.ReadLine
Else
reader.ReadLine()
End If
End While
End Using
If lineCorrect = "" Then
Debug.WriteLine("Incorrect Login 1")
Else
'do something'
End If
答案 0 :(得分:3)
这是一种使用File.ReadLines方法
的简单方法Dim lineCorrect As String = ""
Dim userLine = tbUsernameLogIn.Text & ","
for Each line in File.ReadLines("Pass.txt")
If line.StartsWith(userLine) Then
lineCorrect = line
Exit For
End If
Next
If lineCorrect = "" Then
Debug.WriteLine("Incorrect Login 1")
Else
'do something'
End If
这允许您枚举文件中的所有行,并在搜索到的行的第一次出现时退出for each循环。还要注意微观优化。保持字符串的构建以在循环外部进行检查(尽管编译器可能会自行优化)
答案 1 :(得分:2)
尝试这样的事情:
Dim lineCorrect As String
lineCorrect = File.ReadLines("Pass.txt") _
.FirstOrDefault(Function(str) str.StartsWith(tbUsernameLogIn.Text & ","))