Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Как поэлементно перемножить две последовательности одинаковой длины? / 3 сообщений из 3, страница 1 из 1
22.11.2012, 12:23
    #38048483
user7320
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как поэлементно перемножить две последовательности одинаковой длины?
Без циклов. Желательно лямбдой или ЛИНКом.

Если делать ЛИНКом так

Код: c#
1.
2.
3.
4.
5.
List<double> array1;
List<double> array2;
var res = from a1 in array1
             from a2 in array2
             select a1 * a2;



то получится вместо поэлементного перемножения матрица размером array1.Count * array2.Count, а мне надо, чтобы итый с итым перемножились и в результате получилась последовательность такой же длиной, как и исходные.
...
Рейтинг: 0 / 0
22.11.2012, 12:47
    #38048536
Abstraction
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как поэлементно перемножить две последовательности одинаковой длины?
user7320,

"Без циклов" - не вопрос:
Код: c#
1.
List<double> result = array1.Zip(array2, (a, b) => a*b);
...
Рейтинг: 0 / 0
22.11.2012, 13:56
    #38048698
user7320
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как поэлементно перемножить две последовательности одинаковой длины?
Спасибо.
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Как поэлементно перемножить две последовательности одинаковой длины? / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]