我需要一個客戶端列表,其中選擇了客戶端或選擇了客戶端的父代。所以我想要一個列表,其中包括選擇父項的整個家庭。需要父母或子女的客戶名單; List.Any in Selection.Contains
所以我想要ClientList中的所有項目,其中ClientList.ParentNum或ClientList.ClientNum存在於SelectedList.ClientNum中。
Dim ClientList As New List(Of ClientList.Client)
'add a parent
ClientList.Add(New ClientList.Client With {.ClientNum = "1234"})
'add a child
ClientList.Add(New ClientList.Client With {.ClientNum = "1240", .ParentNum = "1234"})
'add more clients
ClientList.Add(New ClientList.Client With {.ClientNum = "0400"})
ClientList.Add(New ClientList.Client With {.ClientNum = "0500"})
ClientList.Add(New ClientList.Client With {.ClientNum = "0600"})
'select one or more clients
Dim SelectedList As New List(Of ClientList.Client)
SelectedList.Add(New ClientList.Client With {.ClientNum = "1234"})
SelectedList.Add(New ClientList.Client With {.ClientNum = "0400"})
'get ClientList.Any that includes both the parents and their children
Dim printlist As List(Of ClientList.Client) = _
ClientList.Any(Function(x) SelectedList.Contains(_
Function(y As ClientList.Client) y.ClientNum = x.ClientNum _
Or y.ClientNum = x.ParentNum)).tolist
所以在這裏我應該從ClientList中獲得3個客戶端作爲PrintList。包括客戶端將是1234,1240和0400.
當然,這是不工作的語法是亂碼,但我不知道如何得到我需要的列表。你能幫我嗎?
Here is the compile error: Overload resolution failed because no accessible 'Contains' can be called with these arguments: 'Public Function Contains(item As PrintOrgs.ClientList.Client) As Boolean': Lambda expression cannot be converted to 'Print_Taxes.PrintOrgs.ClientList.Client' because 'Print_Taxes.PrintOrgs.ClientList.Client' is not a delegate type. Extension method 'Public Function Contains(value As PrintOrgs.ClientList.Client) As Boolean' defined in 'System.Linq.Enumerable': Lambda expression cannot be converted to 'Print_Taxes.PrintOrgs.ClientList.Client' because 'Print_Taxes.PrintOrgs.ClientList.Client' is not a delegate type.