我有一个linq查询,其中我有两个数据表,我正在连接并使用.foreach
和foreach
中的操作数据循环。当我在foreach中循环时,如何获取行的行索引?
我知道如何在没有连接的情况下完成它,简单的方法就是在linq语句之前放置一个int变量并在foreach中增加。但是想知道我是否可以添加{{1}在此查询中
.Select(Row,index) => new {row,index})
答案 0 :(得分:0)
你可以尝试这个:
Datatable1.AsEnumerable()
.Join(Datatable2.AsEnumerable(),
dt1row => dt1row.Field<string>("name"),
dt2row => dt2row.Field<string>("name")) ,
(dt1row, dt2row) => new { dt1row, dt2row })
.Select((row, index)=> new
{
Index=index,
Dt1row = row.dt1row,
Dt2row = row.dt2row
}).ToList()
.ForEach(o =>
{
//check if value for fields is the same in
});