Удаление повторяющихся записей из массивов - C#
Формулировка задачи:
Коллеги, помогите пожалуйста. Сломал голову напрочь. Задача следующая: Есть четыре одномерных массива - 2 string, 1 int, 1 double, например:
Необходимо получить (Желательно тоже четырьмя массивами):
Заранее спасибо за помощь.
ФД-133 | Петя | 1 | 22,00 |
МС-155 | Маша | 2 | 11,00 |
ТР-122 | Сережа | 1 | 10,00 |
ИП-111 | Катя | 3 | 15,00 |
ФД-133 | Петя | 4 | 22,00 |
МС-155 | Маша | 7 | 11,00 |
ТР-122 | Сережа | 5 | 10,00 |
ИП-111 | Катя | 1 | 15,00 |
ФД-133 | Петя | 5 | 22,00 |
МС-155 | Маша | 9 | 11,00 |
ТР-122 | Сережа | 6 | 10,00 |
ИП-111 | Катя | 4 | 15,00 |
Решение задачи: «Удаление повторяющихся записей из массивов»
textual
Листинг программы
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication2 { class Program { static void Main(string[] args) { string[] partNumber = { "ФД-133", "МС-155", "ТР-122", "ИП-111", "ФД-133", "МС-155", "ТР-122", "ИП-111" }; string[] name = { "Петя", "Маша", "Сережа", "Катя", "Петя", "Маша", "Сережа", "Катя" }; int[] count = { 1, 2, 1, 3, 4, 7, 5, 1 }; double[] price = { 22.00, 11.00, 10.00, 15.00, 22.00, 11.00, 10.00, 15.00 }; var items = Enumerable.Range(0, partNumber.Length) .Select((i, j) => new { PartNumber = partNumber[j], Name = name[j], Count = count[j], Price = price[j] }) .GroupBy(i => i.Name) .Select(i => new { Name = i.Key, Count = i.Sum(n => n.Count), Price = i.Select(m => m.Price).FirstOrDefault()}); foreach (var i in items) { Console.WriteLine(i.ToString()); } Console.ReadLine(); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д