首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >计算两个数组的个数之差

计算两个数组的个数之差
EN

Stack Overflow用户
提问于 2012-02-24 04:13:35
回答 2查看 99关注 0票数 1

对于A中的每个数字和B中的每个数字,如果它们的差值大于3,则添加新数字

代码语言:javascript
运行
复制
A={6,7,10}
B={2,3}
result={4,5,4,8,7}

例如:

6-2=4真加4

6-3=3假

7-2=5真加5

我的尝试是:

代码语言:javascript
运行
复制
  var result = A.Select((a, i) => new
  {
   desired = a - B[i] > 3 ? a - B[i] :0

   });
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-02-24 04:16:49

听起来像你想要的:

代码语言:javascript
运行
复制
var query = from a in A
            from b in B
            let diff = a - b
            where diff > 3
            select diff;

或者用点表示法,非常整齐地去掉:

代码语言:javascript
运行
复制
var query = A.SelectMany(a => B, (a, b) => a - b)
             .Where(x => x > 3);

使用您的测试数据:

代码语言:javascript
运行
复制
using System;
using System.Linq;

class Test
{
    public static void Main()        
    {
        int[] A = {6, 7, 10};
        int[] B = {2, 3};

        var query = A.SelectMany(a => B, (a, b) => a - b)
                     .Where(x => x > 3);

        foreach (var result in query)
        {
            Console.WriteLine(result);
        }
    }
}
票数 6
EN

Stack Overflow用户

发布于 2012-02-24 04:16:28

代码语言:javascript
运行
复制
var query = from a in A
            from b in B
            where (a - b) > 3
            select a - b;
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9420505

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档