我有一個DataTable可能包含在列附加了一些重複的數據表中的值C#
ID Name Other Cols
--------------------------
1 Apple
2 Apple
3 Apple
4 Orange
5 Orange
6 Mango
7 Banana
之一下面的數據,我想什麼做的是每個重複值,後追加一個數我得到以下輸出。
ID Name Other Cols
-------------------------
1 Apple
2 Apple1
3 Apple2
4 Orange
5 Orange1
6 Mango
7 Banana
這樣做的有效方法是什麼?我的表格可能包含近500萬條記錄,並且性能是一個問題。 PS:我必須最終將這些數據轉換爲對象的列表/字典。
更新1 - MY LINQ /列表中以簡化形式
Dim items = (From p In dataSet.Tables("personal").AsEnumerable().Skip(totalFetched).Take(1000).ToList()
Join m In dataSet.Tables("members").AsEnumerable().Skip(totalFetched).Take(1000).ToList() On p("members_Id") Equals m("members_Id")
Join a In dataSet.Tables("agreement").AsEnumerable().Skip(totalFetched).Take(1000).ToList() On p("members_Id") Equals a("members_Id")
Select New ClubInformation() With {
.MemberId = clubNumber & a.Field(Of String)("agreementNumber"),
.FirstName = p.Field(Of String)("firstName"),
.LastName = p.Field(Of String)("lastName")
}).ToList()
我會在這裏有重複,想追加一定數量之後
.MemberId = clubNumber & a.Field(Of String)("agreementNumber")
如果你可以讓他們到一個列表然後LINQ是你最好的選擇 –
目前是您的數據表中存儲或SQL? – QiMata
數據在內存中,通過第三方API以json格式提取。 – user869375