Создание новой коллекции из объектов, убрав повторы и изменив некоторые элементы - C#
Формулировка задачи:
Всем доброго вечера
Собственно, создается и инициализируется класс Table, с полями time и val.
Cоздается коллекция из объектов этого класса она заполняется данными путем определенных вычислений, в итое получается множество экземпляров класса где конкретному значению tb1[i].time соответсвует определенное значение tb1[i].val, причем данные в обих полях могут повторяются.
Делается сортировка относительно поля znach
Необходимо создать новую коллекцию из объектов класса Table, например , в которой будут отсутствовать повторы в поле val, а если этому значению val в оригинальной коллекции соответствовало несколько значений time, то в новой коллекции ему соответствовало бы среднее арифметическое time.
Пример:
Дано:
t v
1 3
2 1
3 3
4 2
2 3
1 3
3 4
Что должно получиться:
t v
2 1
4 2
3,5 3
3 4
прошу помочь с примерным кодом
List<Table> tb1 = new List<Table>();
List<Table> tb2 = new List<Table>();
Решение задачи: «Создание новой коллекции из объектов, убрав повторы и изменив некоторые элементы»
textual
Листинг программы
namespace Test { class Table { public double T{get; private set;} public double V{get; private set;} public Table(double t, double v) { T = t; V = v; } } class Program { public static void Main (string[] args) { List<Table> lst = new List<Table> { new Table(1, 3), new Table(2, 1), new Table(3, 3), new Table(4, 2), new Table(2, 3), new Table(1, 3), new Table(3, 4) }; List<Table> result = (from x in lst group x by x.V into key_value select new Table(key_value.Average((x) => x.T), key_value.Key)).ToList(); foreach (Table t in result) { Console.WriteLine ("{0} - {1}", t.T, t.V); } } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д