c# - LINQ 生成序列号

标签 c# linq

我加入了两个数据表并试图在数组中获取带有序列号的结果。

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

无损

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...

如何在此处获取序列号?

最佳答案

你在这里做了一些奇怪的事情,但无论如何,这应该有效:

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();

关于c# - LINQ 生成序列号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34261806/

相关文章:

asp.net-mvc - 限制来自 WebApi Controller 和 ODATA w/Nhibernate 的服务器端结果

c# - 属性 : Private ready-only backing field vs. 自动实现 + 构造函数

c# - 在大型代码库中查找字符串 == 运算符的用法

c# - 如何从 C# 中的 Action<T> 委托(delegate)调用非静态方法

linq - 从 "LINQ to SQL"到 "Azure Table Storage"或 "SQL Data Service"

asp.net - System.Linq.Dynamic不支持OrderByDescending (“someColumn”)?

linq - MongoDb c# driver LINQ vs Native 查询

c# - BouncyCaSTLe 未定义长度 ASN1

c# - 从 C# 中的 T-Sql 数据库读取以 UTC 格式保存的 DateTime

c# - 复杂的 Linq C# 查询