将数据表名称与枚举进行比较

时间:2018-05-21 10:10:40

标签: .net vb.net

我有一个数据表名称的枚举,我试图循环一个数据表..并删除所有不相等的那些

因此,如果数据表名称不等于任何枚举,请将其删除

我的枚举名为DAL.eDataBaseQuestions 数据表命名为dt为DAL.GetTable

这是我到目前为止所做的事情

{{1}}

第一个foreach可以获取列名,但我不确定如何将它们与枚举文本值进行比较。

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

鉴于列名为Strings,您需要使用GetNames而不是GetValues。鉴于您正在讨论从集合中删除项目,您需要使用For循环并向后计数:

Dim names = [Enum].GetNames(GetType(SomeEnum))

For i = table.Columns.Count - 1 To 0 Step -1
    Dim column As DataColumn = table.Columns(i)

    If Not names.Contains(column.ColumnName) Then
        table.Columns.Remove(column)
    End If
Next