c# - 如果两个列表包含任何公共值,则返回 true
问题描述
我有两个清单。true
如果两个列表都包含一个或多个公共值,我想返回一个布尔结果,否则返回false
。
List<String> list1 = new List<String> { "Alex", "James", "Donald", "Bill", "Trump" };
List<String> list2 = new List<String> { "Alex", "Tom", "Jerry", "Donald", "Gates", "Trump" };
我知道list1.Intersect(list2)
,但很明显,它不会提供真/假输出。
解决方案
这可以使用 Linq 来实现。正如您已经知道的那样, .Intersect 将产生一个新列表,其中包含两个列表中的项目。剩下的就是检查该新列表中是否有任何内容。一个有效的解决方案可以用 .Any() 来完成,一旦找到东西就会返回。
list1.intersect(list2).Any()
在此处查看有关 .Any() 的更多信息:https ://docs.microsoft.com/en-us/dotnet/api/system.linq.enumerable.any?view=net-5.0
推荐阅读
- android - 如何使用 Room Persistence Library 从本地数据库更新文档?
- angular - Angular 的子路由不能工作
- assembly - MIPS:用机器码表示一个 mips 程序集
- winapi - 从地址获取蓝牙设备的名称
- python-3.x - 从 neo4j 中的特定标签中搜索
- powershell - Powershell 比较 CSV 中的日期和今天的日期
- c# - 如何获取隐藏单元格的值?
- sql - SQL 按日期范围分区
- python - 名称“rospy”未定义
- actions-on-google - DialogFlow google Home Assistant 一直在听,不会暂停