C# 如何在C中使用lambda表达式将两个序列相乘?
如何在C中使用lambda表达式将两个序列相乘?例如,如果我有{1,2}和{3,4},我希望结果是{3,4,6,8}。使用SelectMany生成笛卡尔积并将两个值相乘C# 如何在C中使用lambda表达式将两个序列相乘?,c#,.net,linq,lambda,C#,.net,Linq,Lambda,如何在C中使用lambda表达式将两个序列相乘?例如,如果我有{1,2}和{3,4},我希望结果是{3,4,6,8}。使用SelectMany生成笛卡尔积并将两个值相乘 var query = from x in first from y in second select x * y; 使用lambda表达式: int[] a = new int[] { 1, 2 }; int[] b = new int[] { 3, 4 }; var c =
var query = from x in first
from y in second
select x * y;
使用lambda表达式:
int[] a = new int[] { 1, 2 };
int[] b = new int[] { 3, 4 };
var c = a.SelectMany(i => b.Select(j => i * j));
如果第一个数组名为first,第二个数组名为second,则可以执行此操作
List<int> result = new List<int>();
first.ToList().ForEach(x => second.ToList().ForEach(y => result .Add(x * y)));
我不认为我会把查询语法看作是使用lambda表达式。@ gWB,但是它们使用lambda表达式。你只是没有明确地写出来。代码字面上完全等同于用方法语法写出它;这只是个人喜好的问题。