簡體   English   中英

如何使用Lambda表達式在C#中將兩個序列相乘?

[英]How to multiply two sequences in C# using lambda expressions?

如何使用Lambda表達式在C#中將兩個序列相乘? 例如,如果我有{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 = 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)));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM