Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
1.2k views
in Technique[技术] by (71.8m points)

group by - Count on Groupby & update column value C# DataTable

I have a Datatable like this:


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

You could use a lookup to count the ids:

// copy structure and data into new DataTable
DataTable tblCount = yourOriginalDataTable.Copy();
// add the count column
tblCount.Columns.Add("IdCount", typeof(int)); 
// create a dictionary like collection where the key is the id
var idCounter = tblCount.AsEnumerable().ToLookup(row => row.Field<int>("Id"));
// loop the rows and update the column with the correct count value
foreach(DataRow row in tblCount.Rows)
    row.SetField("IdCount", idCounter[row.Field<int>("Id")].Count());

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...