Arrays 如何通过读取表来生成字符串数组?

Arrays 如何通过读取表来生成字符串数组?,arrays,vb.net,combobox,textbox,Arrays,Vb.net,Combobox,Textbox,目前,我的表格上有一个组合框,列出了美国所有州、波多黎各和哥伦比亚特区 我需要将该组合框更改为一个普通的文本框,该文本框在一个数组中包含所有状态代码,这样当用户单击ok按钮时,文本框就会通过状态数组进行验证,以确定所述代码是否存在 如何使用查询将表信息加载到可以传输到文本框的数组中 这是将信息放入组合框的当前代码 Private Sub LoadStateComboBox() Dim stateList As List(Of State) Try stateLis

目前,我的表格上有一个组合框,列出了美国所有州、波多黎各和哥伦比亚特区

我需要将该组合框更改为一个普通的文本框,该文本框在一个数组中包含所有状态代码,这样当用户单击ok按钮时,文本框就会通过状态数组进行验证,以确定所述代码是否存在

如何使用查询将表信息加载到可以传输到文本框的数组中

这是将信息放入组合框的当前代码

Private Sub LoadStateComboBox()
    Dim stateList As List(Of State)
    Try
        stateList = StateDB.GetStateList
        cboStates.DataSource = stateList
        cboStates.DisplayMember = "StateName"
        cboStates.ValueMember = "StateCode"
    Catch ex As Exception
        MessageBox.Show(ex.Message, ex.GetType.ToString)
    End Try
End Sub

->11:47 pm通过将DisplayMember更改为StateCode,组合框现在显示代码。我可以把代码切换到普通的文本框中吗?

如果你想得到一个状态对象数组,那真的很容易。您只需调用ListOf T.ToArray方法,如下所示:

Dim stateArray() As State = stateList.ToArray()
Dim stateCodeArray() As String = stateList.Select(Of String)(Function(x) x.StateCode).ToArray()

但是,如果您想要获取字符串数组,其中数组中的字符串取自原始列表中每个状态对象的一个属性,这就有点困难,但使用LINQ仍然非常容易。例如,如果State类包含StateCode As String属性,则可以使用LINQ获得所有状态代码的数组,如下所示:

Dim stateArray() As State = stateList.ToArray()
Dim stateCodeArray() As String = stateList.Select(Of String)(Function(x) x.StateCode).ToArray()

您希望阵列是什么类型?状态对象数组,还是从原始状态列表中每个状态对象的某些属性中提取的字符串对象数组?对不起,我还是VB新手。我在Access中有一个名为MMABOOKS.mdb的文件,它有一个表States。我想读取StateCode列并将所有数据转换为字符串?这样,当用户输入WI时,它将在数组中运行并检查其真实值。如果用户输入ZA,它将返回并说ZA不是有效的状态代码,并显示错误消息