vb.net选择值及其字符串值

vb.net选择值及其字符串值,vb.net,Vb.net,我有一个如下所示的文本文件: 32 bob 50 willy 32 sarah 50 john 我已将此文本文件加载到我的应用程序中: Private Sub browsebtn1_Click(sender As Object, e As EventArgs) Handles browsebtn1.Click Dim filedialog As New OpenFileDialog 'openfiledialog1 is now filedialog' filedial

我有一个如下所示的文本文件:

32 bob

50 willy

32 sarah

50 john
我已将此文本文件加载到我的应用程序中:

 Private Sub browsebtn1_Click(sender As Object, e As EventArgs) Handles browsebtn1.Click
    Dim filedialog As New OpenFileDialog 'openfiledialog1 is now filedialog'
    filedialog.Filter = "Text Document|*.txt" 'filter the openfiledialogs file extension to txt only'
    filedialog.Title = "Select Bosvark Log File.." 'openfiledialog title'

    If filedialog.ShowDialog = Windows.Forms.DialogResult.OK Then 'if the file is chosen then..'

        filepath1.Text = filedialog.FileName 'filepath1 text is file path of selected file'
        RichTextBox1.LoadFile(filepath1.Text, RichTextBoxStreamType.PlainText) 'richtextbox1 retrieves the file path and displays the document'

End If
End Sub
我想做的是,在一个按钮上单击它,一个新的richtextbox将显示我给定值的数据,例如,我有一个textbox,在该textbox中我键入“50”,新的richtextbox将显示以下内容:

willy

john

我不期望代码,我所需要的只是某种参考或指导。但是如果你想给代码,那就好了。我一直在到处寻找这个答案,但运气不好,我很熟悉它的工作原理,因为当我编写php代码并使用mysql表时,您可以编写一个查询,上面写着“从username=$username的用户中选择”。vb.net中有类似的函数吗?

当然,vb.net也有类似的函数,但是,就像PHP一样,
SELECT
命令只适用于SQL数据库。对文本文件执行
SELECT
命令没有内置支持。如果确实希望将数据存储在SQL数据库中,而不是文本文件中,以便执行
SELECT
命令,则需要查看或

如果确实需要将数据存储为文本文件,则可以自己解析数据,例如:

For Each line As String In File.ReadAllLines(filedialog.FileName)
    Dim parts() As String = line.Split()
    Dim number As String = parts(0)
    Dim name As String = parts(1)
    'Do something with the parsed values, such as storing them in a List, or Dictionary
Next
或者,您可以使用将显示的类。但是,只有当您的文件采用该类支持的格式时,这才有效


在这两种情况下,您都需要将数据加载到内存中的某种数据结构中,例如,或。由于您提供的信息有限,很难说哪种数据结构最适合您的特定情况。一旦将数据加载到数据结构中,就可以编写一个方法,根据需要将所有数据或该数据的子集输出到
RichTextBox
。如何做到这一点完全取决于您选择的数据结构。

为什么不能将文件内容存储为字典,其中键是您正在谈论的数字,值是匹配它的名称列表-您只需对文本文件执行一次操作即可构建这样的字典。一旦你有了字典,它就像字典(键)一样简单,你就可以得到你的用户名列表。谢谢!正是我想要的答案。我能用“Mid”吗?要选择特定的单词??名称=中间(名称,5,3)??是。但是,您应该使用
String.SubString
方法,而不是使用
Mid
,这是一个旧的VB6样式的函数。换句话说,您应该使用
name=line.SubString(4,3)
,而不是
name=Mid(line,5,3)
。请注意,
Mid
的起始索引是基于一的,而
String.SubString
的起始索引是基于零的。