110,536
社区成员
发帖
与我相关
我的任务
分享
double[] a3 = { 1, 2 };
double[] b3 = { 3, 4 };
double[] result = a3.Zip(b3, (x, y) => x * y).ToArray();
IEnumerable<TResult> Zip<TSource1, TSource2, TResult>(this IEnumerable<TSource1> source1, IEnumerable<TSource2> source2, Func<TSource1, TSource2, TResult> selector)
{
var list1 = source1.ToList();
var list2 = source2.ToList();
for (int i = 0; i < (list1.Count > list2.Count ? list2.Count : list1.Count); i++)
yield return selector(list1[i], list2[i]);
}
嫌麻烦,就循环吧。