简体   繁体   English

C#-检查DataTable表单的相同字段

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM