Удаление повторяющихся записей из массивов - 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();
        }
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 3.692 из 5
Похожие ответы