Замена строк в коллекциях по одинаковому вхождению - C#

Узнай цену своей работы

Формулировка задачи:

Доброго времени суток форумчанам. Существует нетривиальная задача. Есть две коллекции в одной существуют строки типа 123 1, 1234 2 - во второй 123 Иванов, 1234 Петров. Так вот, нужно в первую коллекцию произвести запись с заменой 123 на 123 Иванов 1 и 1234 на 1234 Петров 2. То есть произвести проверку по одинаковому вхождению, и если есть - совпадения произвести замену. Записей может быть сколько угодно.

Решение задачи: «Замена строк в коллекциях по одинаковому вхождению»

textual
Листинг программы
  1. using System;
  2. using System.IO;
  3. using System.Linq;
  4. using System.Xml;
  5. using System.Collections.Generic;
  6.  
  7. namespace Pars_XML
  8. {
  9.     class Program
  10.     {
  11.         public static void Main(string[] args)
  12.         {                  
  13.            string[] POS = File.ReadAllLines(@"POS.txt");
  14.            int total_1 = 0;
  15.            
  16.            
  17.            
  18.            foreach (var POS_ in POS.Distinct())
  19.         {
  20.                
  21.                 if(POS_.Contains("CODE_MD"))
  22.                    
  23.                 {
  24.                     int total = POS.Where(x => x == POS_).Count();
  25.                     total_1 = total_1+total;
  26.                     var f1 = POS_ + " " + total;
  27.                     string f2 = f1.Replace("<CODE_MD>", " ").Replace("</CODE_MD>", " ");
  28.                        
  29.                     string [] pos = {f2};
  30.                     string path = @"VR.txt";
  31.                     string[] second = File.ReadAllLines(path);
  32.                                        
  33.                     var q = from a in pos
  34.                     select a.Split(' ') into pa
  35.                     join b in second on pa[1] equals b.Split(' ')[0] into bs
  36.                     from b in bs.DefaultIfEmpty(pa[0])
  37.                     select string.Format("{0} {1}", b, pa[0]);
  38.                    
  39.                     foreach (var x in q)
  40.                    
  41.                     Console.WriteLine(x);
  42.                 }
  43.                
  44.          }
  45.            
  46.           Console.WriteLine("Общий итог: " + total_1);
  47.           Console.ReadLine();          
  48.        
  49.         }
  50.          
  51.     }
  52.      
  53. }

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


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

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

5   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы