我有 2 个列表,这些列表的实体有一些 ID,例如
Client.ID,
其中 ID 是 Client anf 的属性,然后我有PopulationClient.ID
,其中 ID 是类 PopulationClient 的属性。所以我有两个列表
TList<Client> clients = clientsHelper.GetAllClients();
TList<PopulationClient> populationClients = populationHelper.GetAllPopulationClients();
那么我有一个临时列表
TList<Client> temp_list = new TList<Client>();
所以我遇到的问题是有效和正确地做到这一点。这是我尝试过的..但我没有得到正确的结果
foreach(PopulationClient pClients in populationClients)
{
foreach(Client client in clients)
{
if(pClients.ID != client.ID && !InTempList(temp_list, pClients.ID))
{
temp_list.Add(client);
}
}
}
public bool InTempList(TList<Client> c, int id)
{
bool IsInList = false;
foreach(Client client in c)
{
if(client.ID == id)
{
IsInList = true;
}
}
return IsInList;
}
因此,虽然我试图正确地做到这一点,但我无法想出一个好的方法,这并没有返回正确的数据,因为在我在顶部第一个循环中的语句中,在某些时候一个或多个不同于另一个,所以无论如何它都会添加它。您认为我应该在这里检查哪些限制,以便我最终得到一个客户列表,这些客户在人口客户中但不在客户中?
例如,人口客户将有 4 个客户和客户 2,这 2 个也在人口客户中,但我需要获取不在客户中的人口客户列表。
任何帮助或指针将不胜感激。