【发布时间】:2019-01-10 22:56:31
【问题描述】:
我有两个通用列表对象,我想获取第二个通用列表对象中不匹配的记录。下面是我的代码。但它返回所有记录。
我想忽略第一个列表中的匹配记录。
public class CuratedIncludeUid
{
public string type { get; set; }
public string uid { get; set; }
}
List<CuratedIncludeUid> newUids = new List<CuratedIncludeUid>();
newUids.Add(new CuratedIncludeUid { type = "series", uid = "600" });
List<CuratedIncludeUid> liExistingUids = new List<CuratedIncludeUid>();
liExistingUids.Add(new CuratedIncludeUid { type = "series", uid = "600" });
liExistingUids.Add(new CuratedIncludeUid { type = "series", uid = "200" });
var ied = liExistingUids.Except(newUids).ToList(); ;
foreach (var row in ied)
{
Console.WriteLine("Uid:" + row.uid + "type:" + row.type);
}
Console.Read();
I am getting Output as below
Uid:600type:series
Uid:200type:series
**My expected output as below
Uid:200type:series**
【问题讨论】:
-
你能附上
CuratedIncludeUid的代码吗? -
@CaTs 包含代码
-
您正在比较不同的对象。您需要使用自定义比较器。您可以在此处阅读示例的详细信息:cetinbasoz.wordpress.com/2009/06/21/linq-query-operators-–-part-vi/
标签: c# linq generic-list except