如何比较两个List< T>?

编程入门 行业动态 更新时间:2024-10-22 11:07:07
本文介绍了如何比较两个List< T>?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我上课

public class DB { public string 回答{获取; set ; } public string question { get ; set ; } public string url { get ; set ; } }

列表< DB > list1 = new List < DB > (); 列表< 数据库 > list2 = new List < DB > ();

如何获取DB.answer不相似的所有列表元素?

解决方案

尝试类似 list1.Except(list2.select(x => x.answer))。Union(list2.Except(list1.select(x =>) ; x.answer))。 基本上这是基于原理, a.Except(b) .Union(b.Except(a)建议将lista中的所有项目都不在listb中,然后将listb中的所有项目都不在lista中,然后在它们上面加上一个联合。

写一个简单的Comparer。然后使用 Union 并传入比较器

public class DBComparer :IEqualityComparer< DB> { public bool Equals(DB x,DB y ) { return x.answer == y.answer; } public int GetHashCode(DB db) { return db.answer.GetHashCode(); } } var filteredList = list1.Union(list2, new DBComparer())。ToList();

var result = list1.Where(a => list2.Any(b => a.answer!= b.answer))。ToList(); -KR

I have class

public class DB { public string answer{ get; set; } public string question { get; set; } public string url { get; set; } }

List<DB> list1 = new List<DB>(); List<DB> list2 = new List<DB>();

How get all list elements, where DB.answer is not similar?

解决方案

Try something like list1.Except(list2.select(x=>x.answer)).Union(list2.Except(list1.select(x=>x.answer)). Basically this is based on the princple, a.Except(b).Union(b.Except(a) which suggests getting all items from lista not in listb and then all in listb not in lista and then putting a union on them.

Write a simple Comparer. Then use Union and pass in the comparer

public class DBComparer : IEqualityComparer<DB> { public bool Equals(DB x, DB y) { return x.answer == y.answer; } public int GetHashCode(DB db) { return db.answer.GetHashCode(); } } var filteredList = list1.Union(list2,new DBComparer()).ToList();

var result = list1.Where(a => list2.Any(b => a.answer != b.answer)).ToList(); -KR

更多推荐

如何比较两个List&lt; T&gt;?

本文发布于:2023-11-07 06:18:39,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1565761.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:两个   List   amp   lt   gt

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!