[英]C# - Check DataTable form same field
I would like to check the same field in Datatable, and I want to setup a number for each row which starts from Zero, if same field found, number + 1 我想检查数据表中的相同字段,并且我想为从零开始的每一行设置一个数字,如果找到相同的字段,则为数字+ 1
Original Table 原始表
Name
==========
John
John
John
Tommy
Tommy
Andy
How to setup number like : 如何设置号码:
Name | Number
=================
John | 0
John | 1
John | 2
Tommy | 0
Tommy | 1
Andy | 0
Any ideas for this? 有什么想法吗? Thanks for your help. 谢谢你的帮助。
Try this: 尝试这个:
var Rank = datatable1.GroupBy(x => x.Name)
.Select(g => new {g, count= g.Count()})
.SelectMany(t => t.g.Select(b => b)
.Zip(Enumerable.Range(1,t.count), (j,i) => new {j.Name, rn = i}));
foreach (var i in Rank)
{
Console.WriteLine("{0} {1}",i.Name, i.rn);
}
Output: 输出:
John | 1
John | 2
John | 3
Tommy | 1
Tommy | 2
Andy | 1
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.