LINQ生成序列号

Har*_*ava 2 c# linq

我加入了两个数据表并尝试使用序列号在数组中获得结果.DT

ID   A    B    C
1    ab   t    j
2    cd   h    k
3    ds   f    g
Run Code Online (Sandbox Code Playgroud)

NDT

CID     E    F   G
1       g    y   gg
2       ff   hg  vcb
3       df   vb   b
Run Code Online (Sandbox Code Playgroud)

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();
Run Code Online (Sandbox Code Playgroud)

我想要的是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...
Run Code Online (Sandbox Code Playgroud)

我怎样才能在这里获得序列号?

Jcl*_*Jcl 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();
Run Code Online (Sandbox Code Playgroud)