使用 LINQ 比较两个数组

2024-01-06

例如,我有两个数组:

string[] arrayOne = {"One", "Two", "Three", "Three", "Three"};
string[] arrayTwo = {"One", "Two", "Three"};

var result = arrayOne.Except(arrayTwo);

foreach (string s in result) Console.WriteLine(s);

我想要的物品来自arrayOne哪些不存在于arrayTwo。所以在这里我需要结果为:Three Three但我没有得到任何结果,因为它将“三”视为常见并且没有检查其他两项(“三”,“三”)。

我不想最终编写一个巨大的方法来解决这个问题。尝试了其他几个答案,但没有按预期工作:(。

谢谢!!!


构建第二个 HashSet,然后过滤第一个,仅允许项目(如果无法从 HashSet 中删除项目)。

var hs = new HashSet<string>(arrayTwo);
var filtered = arrayOne.Where(item => !hs.Remove(item)).ToArray();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 LINQ 比较两个数组 的相关文章

  • 比较 LINQ to SQL 中的两个日期

    我有一个数据库 其中有一个名为会议的表 会议日期使用以下格式存储在此表中 May 2nd 2011 例如 格式为5 2 2011 我的要求是获取两个日期 例如 2011 年 4 月 25 日和 2011 年 5 月 2 日 之间的会议 并编
  • 为什么将 char 传递给函数会改变它在 c 中的值?

    我目前正在关注本作业簿 http www cs bham ac uk exr lectures opsys 10 11 lectures os dev pdf关于构建操作系统 我的目的是写一个64位内核 我已经在文本模式下加载 内核 代码并
  • 我的 WPF 应用程序未触发 MainWindow_Loaded

    我目前正在关注Pluralsight C Fundamentals Part 1并在Classes and Objects视频部分指导我在 Visual Studio 中创建一个新的 WPF 应用程序并填写代码 这导致以下结果 namesp
  • boost::asio::io_service 是否保留处理程序的顺序?

    Does boost asio io service http www boost org doc libs release doc html boost asio reference io service html保证处理程序的调用顺序与
  • 修剪 UIImage 边框

    这是我想要修剪的图像的示例 我想去掉图像周围的边框 在本例中是顶部和底部的黑条 我在Github上找到了一个库 CKImageAdditions https github com cmkilger CKImageAdditions 但是它似
  • 多维数组和指向指针的指针

    创建多维数组时char a 10 10 根据我的书 它说你必须使用类似于char a 10 将数组传递给函数 为什么必须这样指定长度 您不是只是将双指针传递给 with 并且该双指针不是已经指向分配的内存吗 那么为什么参数不能是char a
  • 函数指针上的未知类型 F TYPE

    include
  • EF Core 一对多关系列表返回 null

    我正在尝试学习如何在 EF Core 中正确利用 DbContext 我有一个团队课程 public class Team public int ID get set public string Name get set public bo
  • 如何使用 ProtoGen 从 proto 文件生成结构

    我们一直在使用 protobuf net ProtoGen 从 proto 文件生成 C cs 文件 我们希望代替类来生成结构 例如 DataContract public struct Entity1 ProtoMember 1 publ
  • 执行存储过程时 ExecuteNonQuery() 返回 -1

    我正在尝试在 Visual Studio 中执行存储过程 下面给出 CREATE PROCEDURE dbo addStudent stuName varchar 50 address varchar 100 tel varchar 15
  • C++:LPWSTR 在 cout 中打印为地址

    我有一个类型变量LPTSTR 我打印到std cout with lt lt 在 ANSI 系统中 不知道它是在哪里确定的 它工作得很好 它打印了字符串 现在 在 Unicode 系统中 我得到的是十六进制地址而不是字符串 那么 为什么LP
  • 如何在 Visual Studio 2010 Express 中引用 system.drawing?

    我对此有点陌生 我的印象是要绘制我创建的矩形 我需要使用 system drawing graphics 问题是 我收到错误 命名空间 System 中不存在类型或命名空间名称 drawing 您是否缺少程序集引用 当我右键单击解决方案资源
  • 为什么未到达的 try-catch 块会增加运行时间?

    我目前正在创建自己的容器库 但我已经看到无法访问 if 语句无效 try catch阻止增加运行时间 这是我的测试 Vector cpp template
  • #define 内存地址声明

    这个 define 语句有什么作用 它用于定义内存地址 但我不明白 uint32 t 部分 define GPxDAT uint32 t 0x6FC0 通常用于访问映射到地址空间的硬件寄存器 或者一些特定的内存地址 硬件寄存器应定义为vol
  • 将 System.Array 从 .Net 编组到 vb6

    我有一个 Net 组件 它有一个 COM 可见类 该类具有返回 System Array 的方法 它实际上返回一个字符串数组 但返回类型声明为 System Array 不要问我 为什么 我知道我可以将返回类型声明为 string 这样就可
  • Control.FindForm 和 ContainerControl.ParentForm 有什么区别

    我想知道两者之间是否有任何功能 或其他 差异Control FindForm and ContainerControl ParentForm 我一直在使用 ParentForm创建我自己的用户控件时 但有什么原因吗 FindForm会是一个
  • 如何创建和使用类箭头运算符? [复制]

    这个问题在这里已经有答案了 因此 在到处研究之后 我似乎找不到如何创建类箭头运算符 即 class Someclass operator gt 我只需要知道如何使用它并正确使用它 它的输入是什么 它返回什么 我如何正确地声明 原型化它 运算
  • NSCF 数组越界?

    我有一个相当简单的应用程序 使用 Core Data 和几个数组控制器 在 IB 中 除了 xcdatamodel 文件之外 没有它们的代码文件 当我运行应用程序时 我在日志中收到以下错误 应用程序仍然运行 但在转到 文件 gt 新文档 之
  • 用于 nmap 输出的 C++ xml 解析器

    我是 nmap 的新手 我在 nmap 教程中看到 https nmap org book man output html https nmap org book man output html oX 选项可用于获取 xml 格式的 nma
  • 在Framework 4.6项目中使用.net core DLL

    我已经在 net core 2 0 中构建了一个 DLL 现在我想在使用 net 4 6 1 框架的 WinForms 项目中使用它 我可以引用该 dll 但收到 System IO FileLoadException 表示找不到 Syst

随机推荐

  • 如何在 Postgres 中使用时间戳字段对日期进行分组?

    假设我有 3 行数据 id product uuid version uuid created at 22 586d8e21b9529d14801b91bd 5a711a0094df04e23833d8ef 2018 02 10 19 51
  • 按顺序使用异步方法运行函数

    我有一个函数数组 里面有异步方法 我想创建一个函数 它接受函数数组并按顺序执行该函数 我不知道如何实现它 感谢帮助 这些函数不是异步的本质上 它是每个函数内部的方法 例子 function task1 console log task1 s
  • 模型缺少“image_file_name”所需的 attr_accessor - Ruby on Rails 4

    当我发布新聚会时 我收到以下错误消息 派对模型缺少 image file name 所需的 attr accessor它指向我的 party controller rb 中的代码 def create party Party new par
  • LLDB 中有 Quicklook 调试命令吗?

    假设我有一个UIImage我正在设置一个UIButton 我想在 Quicklook 中查看它 但是哦不 我无法快速查看调试图像是什么 但我可以从 LLDB 做一些事情来获取图像 比如 getAppButton imageForState
  • 从 PyQt 小部件项设置和获取“数据”?

    这与其说是一个问题 不如说是一个要求解释的请求 我正在关注 Mark Summerfield 的 使用 Python 和 Qt 进行快速 GUI 编程 我一定错过了一些东西 因为我无法理解以下机制将我正在使用的真实 instance ite
  • 确定 cmake_minimum_required() 的适当版本

    从一组CMakeLists txt文件 我如何确定适当的版本号cmake minimum required 还有比熟悉 CMake 功能的历史并使用反复试验更好的方法吗 CMake 有每个版本的文档 https cmake org docu
  • 如何在 WPF 中将按钮中的图像设置为每 30 秒摇动一次?

    我不擅长处理任何样式和动画 我希望能够获得一些帮助来制作一个图像 该图像是按钮的唯一内容 当按钮可见性设置为 Visibility Visible 时 每 30 秒震动一次 这是为了引起用户的注意 鼓励他们点击按钮 我更愿意将其作为图像上的
  • Lodash 去抖动不起作用

    const debounce require lodash debounce gt console log testing 1000 leading true trailing false 上面的代码不起作用 https lodash co
  • 共享异常实例是否安全

    我们正在制作一个类似Excel 的系统 当我们打开文档并发现不支持的功能时 我们会抛出异常 我们只支持一小部分 Excel 函数 这种情况可能会经常发生 问题是 当有很多单元格包含不受支持的功能时 就会创建大量异常实例 创建这么多异常实例会
  • cygwin 中的 aws cli - 如何清理 Windows 和 cygwin 样式路径中的差异

    我怀疑这是我在正确设置路径变量方面的无能 但我不知所措 我已经在 cygwin 中使用 pip 安装了 aws cli pip install awscli 我有两个 python 环境 一个 windows anaconda 发行版 以及
  • github:没有拉取请求的代码审查?

    Using a 共享存储库模型 https help github com articles about collaborative development models 简而言之 我们希望能够审查代码更改 但是 我们根本不希望拉取请求阻碍
  • 跨环境导出和导入安全权限的最佳方法是什么?

    我们有大量的出版物 目前我们在多个环境 主要是 UAT 和 PROD 中手动应用 CMS 权限 这是很乏味的 而且经常容易出错 我们正在尝试跨多个环境导出和导入 CMS 权限 因此可以手动完成一次 然后使用某种工具移植到其他环境 环境 Tr
  • 如何在 Azure 函数中接收多部分表单数据?

    我想在 Azure Function 中接收包含图像和文本的多部分数据 我可以看到很多 C 和 Node 中的示例节点链接 https www builtwithcloud com multipart form data processin
  • 为什么 MutationObserver 代码不能在 Chrome 30 上运行?

    From http updates html5rocks com 2012 02 Detect DOM changes with Mutation Observers http updates html5rocks com 2012 02
  • 在 Android 浏览器中使用 HTML5 播放音频

    我想在以下位置播放音频Android浏览器 使用html5
  • 如何折叠 CSS 网格中未使用的行?

    因此 我在移动设备上有一个由三个段落组成的简单堆栈 我想在较大视口上的网格中设置样式 而不更改源顺序 第一部分可能有几行内容 也可能根本没有内容 在这种情况下 如何使第一行折叠以便第二行填充空间 IE 当顶部部分为空时 最后一个部分应出现在
  • 将数据插入3个相关表中

    如何将数据插入3个相关表 SQL Server 例如 我有表 Customer Address 将数据插入到 客户 和 地址 后 如何将 客户 和 地址 中的 ID 插入到 客户地址 中 连接表 Thanks Use 范围标识 http m
  • 在面板中绘制不同数据帧的同一列

    我从模拟中获得了数据 该数据为我提供了存储在 DataFrame 中的一些值 100 行 x 6 列 对于不同的起始值 我将数据保存在面板中 2 个数据框 x 100 行 x 6 列 现在我想比较两个模拟中名为 A 的列 名为 Sim1 和
  • 带有参数的 Emberjs 路由在某些情况下会失败

    在某些情况下 我遇到了路由 url 的问题 这是我的路由器 contacts Em Route extend route contacts index Em Route extend route connectOutlets functio
  • 使用 LINQ 比较两个数组

    例如 我有两个数组 string arrayOne One Two Three Three Three string arrayTwo One Two Three var result arrayOne Except arrayTwo fo