Linq преобразование List> в List - C#
Формулировка задачи:
Доброго времени суток, данный код нужно преобразовать linq выражениями и дописать выборку из
. Таким образом, что бы каждому элементу массива, присваивался элемент из списка. Т.е. 1ый массив - в него заходят 2 дефолтных параметра + кол-во первых параметров со списков.
Сам код:
List<List<double>>
public List<Array> Adapt(List<List<double>> Storage, int qty, double category, double point) { var result = new List<Array>(); var count = Stogare.Count; for (var i = 0; i < count; count++) { var array = new double[qty + 2]; array[0] = category; array[1] = point; // здесь заполняется остальной массив result.Add(array); } return result; }
Решение задачи: «Linq преобразование List> в List»
textual
Листинг программы
static class Program { static List<T[]> Adapt<T>(this IEnumerable<IEnumerable<T>> Storage, int Qty, params T[] Addition) => Enumerable.Range(0, Qty).Select(i => Addition.Concat(Storage.Select(r => r.ElementAt(i))).ToArray() ).ToList(); static void Main() { List<List<double>> input = new List<List<double>>() { new List<double>() {1, 2, 3}, new List<double>() {4, 5, 6}, new List<double>() {7, 8, 9}, }; List<double[]> expected = new List<double[]>() { /* 1 < qty */ new double[] { 11, 22, 1, 4, 7 }, // {11, 22} + нулевые элементы /* 2 = qty */ new double[] { 11, 22, 2, 5, 8 } // {11, 22} + первые элементы /* 3 > qty */ }; NUnit.Framework.Assert.AreEqual(expected, input.Adapt(2, 11, 22)); } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д