【发布时间】:2015-08-06 13:35:18
【问题描述】:
我必须使用 VendorID 记录 FTP 活动。 有些供应商有多个 FTP 用户名,但我只需要登录一个(最新的)。
例如:
- VendorID 1(两个用户名)
- 迈克
皮特
VendorID 4(两个用户名)
- 杰克
- 路易斯
所以我创建了一个类来存储 FTP 活动:
Public Class VendorClass
Public VendorID As Integer
Public FTPUserName As String
Public File As String
Public Date As DateTime
End Class
- 我将文件加载到 VendorClass 列表中
问题:
如何通过UserID查询列表和分组,并返回最新的日期和时间。
原始列表
VendorID FTP UserName File Date
1 Mike BalanceSheet.csv 6/17/2015 10:20
1 Pete BalanceSheet.csv 6/17/2015 10:40
2 Ron BalanceSheet.csv 6/17/2015 10:20
3 Julia BalanceSheet.csv 6/17/2015 14:20:02
4 Jack BalanceSheet.csv 6/17/2015 11:20
4 Luis BalanceSheet.csv 6/17/2015 09:20
分组结果:
VendorID FTP UserName File Date
1 Pete BalanceSheet.csv 6/17/2015 10:40
2 Ron BalanceSheet.csv 6/17/2015 10:20
3 Julia BalanceSheet.csv 6/17/2015 14:20:02
4 Jack BalanceSheet.csv 6/17/2015 11:20
我的功能当时只能选择 1 个供应商:
Private Function FlattenDuplicateEntries(ActivityList As List(Of VendorClass)) As List(Of VendorClass)
FlattenDuplicateEntries = New List(Of VendorClass)
For Each vendor In FTPUserNameList
Dim val As New VendorClass
val = ActivityList.Find(Function(value As VendorClass) value.VendorID = vendor.VendorID)
Next
End Function
【问题讨论】:
-
您要求
UserId的列表,但您的类型中没有UserId:您的意思是VendorID?
标签: c# vb.net linq generic-list generic-collections