LINQ-запрос для нахождения произведения - C#
Формулировка задачи:
Необходимо написать LINQ-запрос, находящий произведение элементов массива, расположенных мажду максимальным по модулю и минимальным по модулю элементом. Помогите!
Решение задачи: «LINQ-запрос для нахождения произведения»
textual
Листинг программы
using System;
using System.Linq;
class Program
{
static void Main()
{
var array = new[] { 5, 6, 3, 4, 1, 3 };
long start = 0, end = 0;
int result = 0;
start = GC.GetTotalMemory(true);
result = array
.Skip(array.Select((i, index) => new { index, i }).First((n) => n.i == array.Max(el => Math.Abs(el))).index)
.Take(array.Select((i, index) => new { index, i }).First((n) => n.i == array.Min(el => Math.Abs(el))).index -
array.Select((i, index) => new { index, i }).First((n) => n.i == array.Max(el => Math.Abs(el))).index)
.Aggregate(1, (current, c) => current * c);
end = GC.GetTotalMemory(true);
Console.WriteLine("Memory: {0} bytes", end - start);
Console.WriteLine("Result: {0}", result);
}
}