C#比较两个list集合,两集合同时存在或A集合存在B集合中无
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks; namespace Sample3
{
class Program
{
static void Main(string[] args)
{
var student1 = new List<student>();
student1.Add(new student() { name = "张三", subject = "英语", score = });
student1.Add(new student() { name = "李四", subject = "英语", score = });
student1.Add(new student() { name = "王五", subject = "英语", score = });
student1.Add(new student() { name = "李倩", subject = "英语", score = }); var student2 = new List<student>();
student2.Add(new student() { name = "李四", subject = "英语", score = });
student2.Add(new student() { name = "王五", subject = "数学", score = });
student2.Add(new student() { name = "赵六", subject = "数学", score = }); //var exp1 = student1.Where(a => student2.Any(t => a.name.Contains(t.name))).ToList();
//使用Exists同样可以实现 字面上应该更好理解,而且效率要高些
var exp1 = student1.Where(a => student2.Exists(t => a.name.Contains(t.name))).ToList();
Console.WriteLine("--查找student1和student2总同时存在的数据--");
foreach (var item in exp1)
{
Console.WriteLine("{0} \t {1} \t {2}", item.name, item.subject, item.score);
} //var exp2 = student1.Where(a => student2.All(t => !a.name.Contains(t.name))).ToList();
//使用Exists同样可以实现 字面上应该更好理解,而且效率要高些
var exp2 = student1.Where(a => !student2.Exists(t => a.name.Contains(t.name))).ToList();
Console.WriteLine("--查找student1集合中存在,而student2不存在的数据--");
foreach (var item in exp2)
{
Console.WriteLine("{0} \t {1} \t {2}", item.name, item.subject, item.score);
}
Console.Read(); /*
--查找student1和student2总同时存在的数据--
李四 英语 95
王五 英语 69
--查找student1集合中存在,而student2不存在的数据--
张三 英语 89
李倩 英语 99
*/
}
} public class student
{
/// <summary>
/// 姓名
/// </summary>
public string name;
/// <summary>
/// 科目
/// </summary>
public string subject;
/// <summary>
/// 分数
/// </summary>
public int score;
}
}
C#比较两个list集合,两集合同时存在或A集合存在B集合中无的更多相关文章
- UVA12096 集合栈计算机(map和vector实现双射关系+集合的交并运算的STL)
		题目大意: 对于一个以集合为元素的栈,初始时栈为空. 输入的命令有如下几种: PUSH:将空集{}压栈 DUP:将栈顶元素复制一份压入栈中 UNION:先进行两次弹栈,将获得的集合A和B取并集,将结果 ... 
- set集合,是一个无序且不重复的元素集合
		set集合,是一个无序且不重复的元素集合 class set(object): """ set() -> new empty set object ... 
- 20Mybatis_订单商品数据模型_一对一查询——resultType和resultMap两种方式以及两种方式的总结
		上一篇文章分析了数据模型,这篇文章就给出一个需求,这个需求是一对一查询,并完成这个需求. ------------------------------------------------------- ... 
- 剑指Offer38 数组所有数字出现两次,只有两个出现了一次,找出这两个数字
		/************************************************************************* > File Name: 38_Number ... 
- C#  List 集合 交集、并集、差集、去重, 对象集合、 对象、引用类型、交并差补、List<T>
		关键词:C# List 集合 交集.并集.差集.去重, 对象集合. 对象.引用类型.交并差.List<T> 有时候看官网文档是最高效的学习方式! 一.简单集合 Intersect 交集, ... 
- 给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组
		题目描述: 给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组. 说明:初始化 nums1 和 nums2 的元素数量分别为 m ... 
- 集合框架的类和接口均在java.util包中。  任何对象加入集合类后,自动转变为Object类型,所以在取出的时候,需要进行强制类型转换。
		集合框架的类和接口均在java.util包中. 任何对象加入集合类后,自动转变为Object类型,所以在取出的时候,需要进行强制类型转换. 
- CF988 C. Equal Sums【map+pair/hash/任选两个序列,两个序列都除去他们中的一个数,使的总和相同】
		[链接]:CF988C [题意]:在n个序列中任选两个序列,两个序列都除去他们中的一个数,使的总和相同 [分析]:map<int,pair<int,int> > mp,从0~m ... 
- 今天被 <!doctype html> 搞了两个小时,两个页面同样的样式,chosen右边的小箭头,一个上下居中对齐 一个居顶对齐。最后找到问题所在doctype
		今天被 <!doctype html> 搞了两个小时,两个页面同样的样式,chosen右边的小箭头,一个上下居中对齐 一个居顶对齐.最后找到问题所在doctype <-- 这个小箭头 
- two pointers思想 ---- 利用两个i, j两个下标,同时对序列进行扫描,以O(n)复杂度解决问题的一种思想
		two pointers思想 ---- 利用两个i, j两个下标,同时对序列进行扫描,以O(n)复杂度解决问题的一种思想, 如果能用这种思想解决问题,那么会大大降低程序的复杂度. 两个利用这个思想的例 ... 
随机推荐
- bzoj2257[POI2011]Programming Contest
			首先可以费用流建图,左边一堆点表示人,右边一堆点表示题,源点向每个人连floor(t/r)条边,费用依次为r,2r,3r….然后写了一个卡不过去,动态加边也卡不过去,然后我想:这里一定有一些不为人知的 ... 
- sql批量更新关系型数据库
			更改gb_groupd里的chargingrulesname的值UPDATE tb_group SET tb_group.chargingrulesname =tb_chargingrules.c ... 
- Codeforces Gym 101142 G  Gangsters in Central City (lca+dfs序+树状数组+set)
			题意: 树的根节点为水源,编号为 1 .给定编号为 2, 3, 4, …, n 的点的父节点.已知只有叶子节点都是房子. 有 q 个操作,每个操作可以是下列两者之一: + v ,表示编号为 v 的房子 ... 
- 你可能使用了Spring最不推荐的注解方式
			前言 使用Spring框架最核心的两个功能就是IOC和AOP.IOC也就是控制反转,我们将类的实例化.依赖关系等都交由Spring来处理,以达到解耦合.利用复用.利于测试.设计出更优良程序的目的.而对 ... 
- ZOJ1081:Points Within——题解
			http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=1081 题目大意:给定一个点数为 n 的多边形,点按照顺序给出,再给出 m ... 
- hdu 5620
			KK's Steel Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total ... 
- C. Line (扩展欧几里得)
			C. Line time limit per test 1 second memory limit per test 256 megabytes input standard input output ... 
- bzoj 4900 [CTSC2017]密钥 模拟+乱搞
			题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4900 #include<cstring> #include<cmath&g ... 
- FreeRTOS - 程序开发阶段建议
			1.创建任务.定时器等都需要耗用分配给FreeRTOS的heap,由于RAM有限,分配作为FreeRTOS的heap量有限,一不小心就不够用了,所以应该有检测任务.定时器等是否创建成功,如下图: 2. ... 
- 基于Bootstrap的遮罩层,带有加载提示
			1.body中的html <div class="modal fade" id="loadingModal"> <div style=&quo ... 
