2015-12-14 5 views
2

Я присоединился к двум datatables &, пытаясь получить результаты в массиве с серийным номером. дтLINQ генерировать серийный номер

ID A B C 
1 ab t j 
2 cd h k 
3 ds f g 

NDT

CID  E F G 
1  g y gg 
2  ff hg vcb 
3  df vb b 

Код

var query = from r0w1 in dt.AsEnumerable() 
      join r0w2 in ndt.AsEnumerable() 
      on r0w1.Field<string>("ID") equals r0w2.Field<string>("CID") 
      select r0w2.ItemArray.Skip(1).Concat(r0w1.ItemArray).ToArray(); 

То, что я хочу здесь является то, что должно также LINQ генерировать серийный номер. Таким образом, выход должен понравиться.

SNO  ID A B C  E F G 
1  1 ab t j  g y gg 
2  2 cd h k  ff hg vcb 
3  3 ds f g  df vb b 
4... 

Как я могу получить серийный номер здесь?

ответ

10

Вы делаете какие-то странные вещи здесь, но в любом случае, это должно работать:

int serialNumber = 1; 

var query = from r0w1 in dt.AsEnumerable() 
      join r0w2 in ndt.AsEnumerable() 
      on r0w1.Field<string>("ID") equals r0w2.Field<string>("CID") 
      select new string [] { serialNumber++.ToString() } 
        .Concat(r0w2.ItemArray.Skip(1)) 
        .Concat(r0w1.ItemArray).ToArray(); 
Смежные вопросы