C# 如何在C中的数组上使用Select函数从datatable获取DataRow对象
我试图使用列表过滤的select函数作为一个值 如果dt_old是一个datatable,CFKEY是dt_old的一列,那么这个语句使用Select作为一个特定的值,它可以正常工作C# 如何在C中的数组上使用Select函数从datatable获取DataRow对象,c#,select,datatable,datarow,C#,Select,Datatable,Datarow,我试图使用列表过滤的select函数作为一个值 如果dt_old是一个datatable,CFKEY是dt_old的一列,那么这个语句使用Select作为一个特定的值,它可以正常工作 DataRow[] dt_oldDuplicateRow = dt_old.Select("CFKEY = '1'"); 我找不到使用select对基于其他datatable的数组或列表进行筛选的方法,我想这样做 DataColumn dc = dt_new.Columns["CFKEY"]; DataRow[]
DataRow[] dt_oldDuplicateRow = dt_old.Select("CFKEY = '1'");
我找不到使用select对基于其他datatable的数组或列表进行筛选的方法,我想这样做
DataColumn dc = dt_new.Columns["CFKEY"];
DataRow[] dt_oldDuplicateRow = dt_old.Select("CFKEY in " + dc );
其中,dt_new与st_old的格式相同。有什么想法吗?您必须参考System.Data.DataSetExtensions并为datatable使用一个numerable
var results = dt_old.AsEnumerable().Select()
检查此问题我不确定钥匙列表是您选择的还是从dt_new获得的。反正
谢谢塞尔达,这正是我需要的 我的列表是从dt_new获得的,我稍微更改了您的代码
var list = dt_new.Rows.OfType<DataRow>()
.Select(dr => dr.Field<string>("CFKEY"))
.ToList();
DataRow[] dt_oldDuplicateRow = dt_old.Rows.OfType<DataRow>()
.Where(dr => list.Contains(dr["CFKEY"].ToString()))
.ToArray();
var list = dt_new.Rows.OfType<DataRow>()
.Select(dr => dr.Field<string>("CFKEY"))
.ToList();
DataRow[] dt_oldDuplicateRow = dt_old.Rows.OfType<DataRow>()
.Where(dr => list.Contains(dr["CFKEY"].ToString()))
.ToArray();