C# 的两个list怎么判断是否存在交集
要判断两个 List<string>
(dateList
和 LocalDate
)是否有交集,可以使用 LINQ(Language Integrated Query)来简化这个过程。以下三种方法来判断两个列表之间是否有交集。
方法 1: 使用 LINQ 的 Any
方法
using System;
using System.Collections.Generic;
using System.Linq;public class Program
{public static void Main(){List<string> dateList = new List<string> { "2024-01-01", "2024-02-02", "2024-03-03" };List<string> localDate = new List<string> { "2024-03-03", "2024-04-04" };bool hasIntersection = dateList.Any(date => localDate.Contains(date));if (hasIntersection){Console.WriteLine("两个列表有交集。");}else{Console.WriteLine("两个列表没有交集。");}}
}
方法 2: 使用 LINQ 的 Intersect
方法
using System;
using System.Collections.Generic;
using System.Linq;public class Program
{public static void Main(){List<string> dateList = new List<string> { "2024-01-01", "2024-02-02", "2024-03-03" };List<string> localDate = new List<string> { "2024-03-03", "2024-04-04" };var intersection = dateList.Intersect(localDate).Any();if (intersection){Console.WriteLine("两个列表有交集。");}else{Console.WriteLine("两个列表没有交集。");}}
}
方法 3: 使用集合操作
如果要频繁地检查交集,可以考虑将其中一个列表转换为集合(HashSet
),这样会提高查找效率。
using System;
using System.Collections.Generic;public class Program
{public static void Main(){List<string> dateList = new List<string> { "2024-01-01", "2024-02-02", "2024-03-03" };List<string> localDate = new List<string> { "2024-03-03", "2024-04-04" };HashSet<string> dateSet = new HashSet<string>(dateList);bool hasIntersection = localDate.Any(date => dateSet.Contains(date));if (hasIntersection){Console.WriteLine("两个列表有交集。");}else{Console.WriteLine("两个列表没有交集。");}}
}
总结
- 方法 1 和 方法 2 使用 LINQ 提供了简洁的语法,适合大多数情况。
- 方法 3 使用集合操作可以在大量数据情况下提高性能,特别是当
localDate
列表较大时。
相关文章:
C# 的两个list怎么判断是否存在交集
要判断两个 List<string>(dateList 和 LocalDate)是否有交集,可以使用 LINQ(Language Integrated Query)来简化这个过程。以下三种方法来判断两个列表之间是否有交集。 方法 1: 使用 LINQ 的 Any 方法 using S…...

【Python】基础语法
1. 变量 1.1. 变量的创建 变量的定义规则: 变量只能由数字,字母,下划线构成,不能包含特殊符号数字不能作为变量开头变量名不能和 Python 的关键字重复Python 的变量是区分大小写的 除了上述的硬性规则外,还建议变量…...

scala 类的继承
继承的定义 idea实例 语法 重写 重写:在子类中重新定义父类的同名方法 idea实例 多态 多态:传入的对象不同,调用的方法的效果就不同! 原理:参数是父类类型 idea实例 构造器...

穷举vs暴搜vs深搜vs回溯vs剪枝(一)
文章目录 全排列子集找出所有子集的异或总和再求和全排列 II电话号码的字母组合 全排列 题目:全排列 思路 通过深度优先搜索的方式,不断枚举每个数在当前位置的可能性,然后回溯到上一个状态,直到枚举完所有可能性得到正确的结果 r…...
枚举的应用
1.枚举的语法特点 枚举是jdk1.5提供的一个特性 枚举是一个特殊的类,这个类的对象的数量是有限的。在定义枚举类的同时就已经确定了类对象及类对象的数量。 枚举使用enum关键字定义 class A{} enum A{} 在枚举类中的第一行,就需要提供枚举类的对象&a…...

读数据工程之道:设计和构建健壮的数据系统14源系统
1. 源系统中的数据生成 1.1. 数据工程师的工作是从源系统获取数据,对其进行处理,使其有助于为下游用例提供服务 1.2. 数据工程师的角色将在很大程度上转向理解数据源和目的地之间的相互作用 1.3. 数据工程的最基本的数据管道任务——将数据从A移动到B…...

基于SpringBoot+Vue的厨艺交流系统的设计与实现(源码+定制开发)厨艺知识与美食交流系统开发、在线厨艺分享与交流平台开发、智能厨艺交流与分享系统开发
博主介绍: ✌我是阿龙,一名专注于Java技术领域的程序员,全网拥有10W粉丝。作为CSDN特邀作者、博客专家、新星计划导师,我在计算机毕业设计开发方面积累了丰富的经验。同时,我也是掘金、华为云、阿里云、InfoQ等平台…...

STMicroelectronics 意法半导体芯片选型表
意法半导体作为全球知名的半导体厂商,其产品广泛应用于各个领域,从消费电子到工业控制,从汽车电子到通信设备,都能看到意法半导体芯片的身影。在电子硬件设计领域,芯片的选型至关重要。亿配芯城(ICgoodFind…...
TCP/IP 寻址
TCP/IP 寻址 概述 TCP/IP(传输控制协议/互联网协议)是一组用于数据网络的通信协议。它们定义了数据如何在网络上从一个设备传输到另一个设备。在TCP/IP网络中,每个设备都有一个唯一的地址,称为IP地址,用于标识网络上…...
深入探索 APKTool:Android 应用的反编译与重打包工具
文章目录 一、反编译 APK1.1 解压 APK1.2 DEX 文件转换1.3 资源解码 二、重新打包 APK2.1 资源重新编译2.2 smali 转换为 DEX2.3 打包 APK2.4 签名 APK 三、技术原理3.1 Smali/Baksmali3.1.1 DEX 文件格式3.1.2 Smali 语法3.1.2.1 指令3.1.2.2 寄存器3.1.2.3 操作码3.1.2.4 注释…...

软件测试与软件缺陷的基础知识
✨✨ 欢迎大家来访Srlua的博文(づ ̄3 ̄)づ╭❤~✨✨ 🌟🌟 欢迎各位亲爱的读者,感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua小谢,在这里我会分享我的知识和经验。&am…...

【JPCS独立出版,EI检索稳定】第三届能源互联网及电力系统国际学术会议(ICEIPS 2024)
第三届能源互联网及电力系统国际学术会议(ICEIPS 2024) 2024 3rd International Conference on Energy Internet and Power Systems ICEIPS 2024已成功申请JPCS - Journal of Physics: Conference Series (ISSN:1742-6596) ICEIPS 2024独立出版&…...

ssm配置模式
新版 用Java类,全注解demo案例 1. AppConfig.java (Spring主配置类)package com.example.config;import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; import org.springframework.cont…...

[MySQL课后作业]人事管理系统的SQL实践
第一题 1.假设某商业集团中有若干公司,人事数据库中有3个基本表: 职工表:EMP(E#.ENAME,AGE, SEX, ECITY)。 其属性分别表示职工工号、姓名、年龄、性别和居住城市。 工作表:WORKS(E#,C#,SALARY)。其属性分别表示职工工号、所在公司的编号和工资。 公司表:COMP(C#,CA…...

【MySQL】增删改查-进阶(二)
目录 🌴新增 🎄查询 🚩聚合查询 🏀聚合函数 🏀group by子句 🏀HAVING 🚩联合查询 🏀内连接 🏀外连接 🏀自连接 🏀子查询 🏀…...

cefsharp79.1.360(Chromium 79.0.3945.130)支持H264视频播放-PDF预览 老版本回顾系列体验
一、关于此版本 版本:Cef 79.1.36/CefSharp 79.1.360/Chromium 79.0.3945.130/支持H264/支持PDF预览 支持PDF预览和H264推荐版本 63/79/84/88/100/111/125 运行环境需要 visual c++ 2015不支持xp/vista/2003/2008默认不支持h264(版权问题)支持打印预览 print preview已知问题…...

【Linux】main函数的参数列表从何而来?
Linux系统进程通过exec系列函数启动新程序时,argc整型 、 argv数组 和 环境变量表 environ 会作为 exec 系列函数的参数,显式传递给新程序的 main 函数。 main函数的参数列表 在C语言中,main函数的标准参数列表通常如下所示: in…...
缓冲区类QBuffer
1、QBuffer继承自QIODevice 2、是一种随机设备 3、和QFile类似, 4、有了 QBuffer,你可以把 QByteArray 当成文件一样来操作 其主要作用就是像QFile操作文件一样来操作一块QByteArray(内存区域),比如读和写 常用方…...

从一个事故中理解 Redis(几乎)所有知识点
作者:看破 一、简单回顾 事故回溯总结一句话: (1)因为大 KEY 调用量,随着白天自然流量趋势增长而增长,最终在业务高峰最高点期占满带宽使用 100%。   (2ÿ…...

MySQL程序介绍<二>
目录 mysqlcheck - 表维护程序 Mysqldump - 数据库备份程序 mysqladmin - MySQL 服务器管理程序 mysqlshow - 显⽰数据库、表和列信息 mysqldumpslow - 总结慢查询⽇志⽂件 编辑 mysqlbinlog - 处理⼆进制⽇志⽂件 mysqlslap - 负载仿真客⼾端 接着上篇继续介绍MySQL…...
Python爬虫实战:研究MechanicalSoup库相关技术
一、MechanicalSoup 库概述 1.1 库简介 MechanicalSoup 是一个 Python 库,专为自动化交互网站而设计。它结合了 requests 的 HTTP 请求能力和 BeautifulSoup 的 HTML 解析能力,提供了直观的 API,让我们可以像人类用户一样浏览网页、填写表单和提交请求。 1.2 主要功能特点…...

日语AI面试高效通关秘籍:专业解读与青柚面试智能助攻
在如今就业市场竞争日益激烈的背景下,越来越多的求职者将目光投向了日本及中日双语岗位。但是,一场日语面试往往让许多人感到步履维艰。你是否也曾因为面试官抛出的“刁钻问题”而心生畏惧?面对生疏的日语交流环境,即便提前恶补了…...

RocketMQ延迟消息机制
两种延迟消息 RocketMQ中提供了两种延迟消息机制 指定固定的延迟级别 通过在Message中设定一个MessageDelayLevel参数,对应18个预设的延迟级别指定时间点的延迟级别 通过在Message中设定一个DeliverTimeMS指定一个Long类型表示的具体时间点。到了时间点后…...
Java 语言特性(面试系列1)
一、面向对象编程 1. 封装(Encapsulation) 定义:将数据(属性)和操作数据的方法绑定在一起,通过访问控制符(private、protected、public)隐藏内部实现细节。示例: public …...

现代密码学 | 椭圆曲线密码学—附py代码
Elliptic Curve Cryptography 椭圆曲线密码学(ECC)是一种基于有限域上椭圆曲线数学特性的公钥加密技术。其核心原理涉及椭圆曲线的代数性质、离散对数问题以及有限域上的运算。 椭圆曲线密码学是多种数字签名算法的基础,例如椭圆曲线数字签…...

Module Federation 和 Native Federation 的比较
前言 Module Federation 是 Webpack 5 引入的微前端架构方案,允许不同独立构建的应用在运行时动态共享模块。 Native Federation 是 Angular 官方基于 Module Federation 理念实现的专为 Angular 优化的微前端方案。 概念解析 Module Federation (模块联邦) Modul…...

EtherNet/IP转DeviceNet协议网关详解
一,设备主要功能 疆鸿智能JH-DVN-EIP本产品是自主研发的一款EtherNet/IP从站功能的通讯网关。该产品主要功能是连接DeviceNet总线和EtherNet/IP网络,本网关连接到EtherNet/IP总线中做为从站使用,连接到DeviceNet总线中做为从站使用。 在自动…...
【学习笔记】深入理解Java虚拟机学习笔记——第4章 虚拟机性能监控,故障处理工具
第2章 虚拟机性能监控,故障处理工具 4.1 概述 略 4.2 基础故障处理工具 4.2.1 jps:虚拟机进程状况工具 命令:jps [options] [hostid] 功能:本地虚拟机进程显示进程ID(与ps相同),可同时显示主类&#x…...

优选算法第十二讲:队列 + 宽搜 优先级队列
优选算法第十二讲:队列 宽搜 && 优先级队列 1.N叉树的层序遍历2.二叉树的锯齿型层序遍历3.二叉树最大宽度4.在每个树行中找最大值5.优先级队列 -- 最后一块石头的重量6.数据流中的第K大元素7.前K个高频单词8.数据流的中位数 1.N叉树的层序遍历 2.二叉树的锯…...

排序算法总结(C++)
目录 一、稳定性二、排序算法选择、冒泡、插入排序归并排序随机快速排序堆排序基数排序计数排序 三、总结 一、稳定性 排序算法的稳定性是指:同样大小的样本 **(同样大小的数据)**在排序之后不会改变原始的相对次序。 稳定性对基础类型对象…...