c# - 如何计算 IEnumerable<int> 中 int[] 中的每个数字存在多少次?

标签 c#

我有整数数组(称他为 A)和 IEnumarable(称他为 B):

B - 1,2,4,8,289

A - 2,2,56,2,4,33,4,1,8,

我需要计算每个数字从 A 到 B 中出现了多少次,并对结果求和。

例如:

B - 1,2,4,8,289

A - 2,2,56,2,4,33,4,1,8,

result = 1+3+2+1+0

什么是优雅的实现方式?

最佳答案

LINQ这很容易:

int count = A
    .Where(x => B.Contains(x))
    .Count();

计算 A 中的元素在 B 中出现的次数。


正如 Yuval Itzchakov 指出的那样,这可以简化为:

int count = A.Count(x => B.Contains(x));

关于c# - 如何计算 IEnumerable<int> 中 int[] 中的每个数字存在多少次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33068756/

相关文章:

c# - 远程连接mysql

c# - 带有部分页面的客户端的 Outputcache 属性

c# - 确定两个 SyntaxToken 是否相同

c# - Visual Studio 不会运行测试类中的所有单元测试

c# - 如何显示 Servicestack api 站点的 "cover page"/重定向到另一个网站

c# - 复选框中的 asp-for 抛出和 asp.net 核心中的错误

c# - 任何人都可以制作假证书吗?

c# - Environment.SpecialFolder.CommonApplicationData 返回 Program Files/App 文件夹

c# - 获取有关 Ninject 拦截的方法的信息

javascript - 表单数据未在 asp.net core mvc Controller 模型中序列化