首页 > 解决方案 > 从 DataTable 中删除不在 List 中的列

问题描述

我们有这个List<string>

List<string> A = ['a','b','c']

另一个Datatable [B]包含以下列

'a' 'b' 'c' 'd' 'e' // the columns of DataTable B

我们如何从 A 中删除所有List<string>A中找到的列Datatable B

标签: c#list

解决方案


你可以做这样的事情

int numCols = dt.Columns.Count;

foreach(String str in A){//loop all strings in arrays

 for(int i=0;i<numCols;i++){//loop all columnames in dataTable B
      string columnName =dt.Columns[i].ColumnName.ToString();//get column Name
      //check if columnNames in B are equal to 
      if(!str.Equals(columnName){
        //remove column
         dt.Columns.RemoveAt(i);
      }else{
       //column name is equal to the string array
      }
   }
}

推荐阅读