C# 计算两个数组的数目之差

C# 计算两个数组的数目之差,c#,linq,C#,Linq,对于A中的每个数字和B中的每个数字,如果其差值大于3,则添加新数字 A={6,7,10} B={2,3} result={4,5,4,8,7} 例如: 6-2=4真加4 6-3=3假 7-2=5真加5 我的尝试: var result = A.Select((a, i) => new { desired = a - B[i] > 3 ? a - B[i] :0 }); 听起来你想要: var query = from a in A f

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

A={6,7,10}
B={2,3}
result={4,5,4,8,7}
例如:

6-2=4真加4

6-3=3假

7-2=5真加5

我的尝试:

  var result = A.Select((a, i) => new
  {
   desired = a - B[i] > 3 ? a - B[i] :0

   });

听起来你想要:

var query = from a in A
            from b in B
            let diff = a - b
            where diff > 3
            select diff;
或者用点表示法,非常整齐地掉出来:

var query = A.SelectMany(a => B, (a, b) => a - b)
             .Where(x => x > 3);
使用您的测试数据:

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);
        }
    }
}

听起来你想要:

var query = from a in A
            from b in B
            let diff = a - b
            where diff > 3
            select diff;
或者用点表示法,非常整齐地掉出来:

var query = A.SelectMany(a => B, (a, b) => a - b)
             .Where(x => x > 3);
使用您的测试数据:

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);
        }
    }
}
也许你在找也许你在找