C# 遍历数据表并删除列表中的列
我有一个允许列的C# 遍历数据表并删除列表中的列,c#,asp.net,visual-studio-2010,datatable,C#,Asp.net,Visual Studio 2010,Datatable,我有一个允许列的列表。我有一个数据集DT1,它列出了所有列。现在我要做的是只从DT1获取允许的列 List<String> = FirstName,LastName,Age,EmailAddress DT1 contains = FirstName,LastName,Age,EmailAddress,Sex,PhoneNumber,Address List=FirstName、LastName、Age、EmailAddress DT1包含=名字、姓氏、年龄、电子邮件地址、性别、电话
列表
。我有一个数据集DT1,它列出了所有列。现在我要做的是只从DT1获取允许的列
List<String> = FirstName,LastName,Age,EmailAddress
DT1 contains = FirstName,LastName,Age,EmailAddress,Sex,PhoneNumber,Address
List=FirstName、LastName、Age、EmailAddress
DT1包含=名字、姓氏、年龄、电子邮件地址、性别、电话号码、地址
我已经尝试了
DataTable.Merge()
,foreach
等。。。但我无法获得预期结果。假设您的列表是一个包含列名的列表:
var toBeRemoved = DT1.Columns.Cast<DataColumn>()
.Where(c => !allowed.Contains(c.ColumnName))
.ToList();
foreach(DataColumn col in toBeRemoved)
{
DT1.Columns.Remove(col);
}
假设您的列表是包含列名的列表
:
var toBeRemoved = DT1.Columns.Cast<DataColumn>()
.Where(c => !allowed.Contains(c.ColumnName))
.ToList();
foreach(DataColumn col in toBeRemoved)
{
DT1.Columns.Remove(col);
}
感谢您的快速帮助,请再告诉我一件事,如果我不删除列,但将要删除的各个列中的值设置为NULL,该怎么办。感谢您的快速帮助,请再告诉我一件事,如果我不删除列,但将要删除的各个列中的值设置为NULL,该怎么办。