我有一个数据表名称的枚举,我试图循环一个数据表..并删除所有不相等的那些
因此,如果数据表名称不等于任何枚举,请将其删除
我的枚举名为DAL.eDataBaseQuestions 数据表命名为dt为DAL.GetTable
这是我到目前为止所做的事情
{{1}}
第一个foreach可以获取列名,但我不确定如何将它们与枚举文本值进行比较。
感谢您的帮助!
答案 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