如何从linq select语句中的列表中进行选择。 [英] How to select from list inside a linq select statement.

查看:173
本文介绍了如何从linq select语句中的列表中进行选择。的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

您好,

我有一个数据表,其中n没有行。我迭代了数据表,并在特定条件下得到了行的索引,并将它们保存在整数列表中。

现在我想从索引位于列表中的数据表中删除这些列一个Linq Select语句。





可以说数据表是DT

和List< int>是LstRemoveIndex



 var FinalTable = DT.AsEnumerable()
.Where(?????)
。 CopyToDataTable();





如何在Where Condition或select条件中使用LstRemoveIndex ???

解决方案

 List< int> intlst =  new  List< int>(); 
intlst.Add( 3 );
intlst.Add( 4 );
intlst.Add( 5 );

DataTable dt = new DataTable();
dt.Columns.Add( num typeof Int32 ));
dt.Rows.Add( 3 );
dt.Rows.Add( 4 );
dt.Rows.Add( 5 );
dt.Rows.Add( 6 );

var FinalTable =( from x in dt.AsEnumerable()
where !intlst.Contains(x.Field< int32>( num))
选择 x).CopyToDataTable( ); // 输出:6



此致..


Hello,
I have a data table with n no of rows in it. I iterated the data table and got the index of the rows on certain condition and saved them in a list of integer.
Now i want to remove those columns from the data table where index lies in the list using a Linq Select statement.


Lets say datatable is DT
and List<int> is LstRemoveIndex

var FinalTable = DT.AsEnumerable()
                  .Where(?????)
                  .CopyToDataTable();



how to use LstRemoveIndex in the Where Condition or the select condition ???

解决方案

List<int> intlst = new List<int>();
intlst.Add(3);
intlst.Add(4);
intlst.Add(5);

DataTable dt = new DataTable();
dt.Columns.Add("num", typeof(Int32));
dt.Rows.Add(3);
dt.Rows.Add(4);
dt.Rows.Add(5);
dt.Rows.Add(6);

var FinalTable = (from x in dt.AsEnumerable()
                  where !intlst.Contains(x.Field<int32>("num"))
                  select x).CopyToDataTable();//output : 6 


Regards..


这篇关于如何从linq select语句中的列表中进行选择。的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆