Замена строк в коллекциях по одинаковому вхождению - C#
Формулировка задачи:
Доброго времени суток форумчанам. Существует нетривиальная задача. Есть две коллекции в одной существуют строки типа 123 1, 1234 2 - во второй 123 Иванов, 1234 Петров. Так вот, нужно в первую коллекцию произвести запись с заменой 123 на 123 Иванов 1 и 1234 на 1234 Петров 2. То есть произвести проверку по одинаковому вхождению, и если есть - совпадения произвести замену. Записей может быть сколько угодно.
Решение задачи: «Замена строк в коллекциях по одинаковому вхождению»
textual
Листинг программы
- using System;
- using System.IO;
- using System.Linq;
- using System.Xml;
- using System.Collections.Generic;
- namespace Pars_XML
- {
- class Program
- {
- public static void Main(string[] args)
- {
- string[] POS = File.ReadAllLines(@"POS.txt");
- int total_1 = 0;
- foreach (var POS_ in POS.Distinct())
- {
- if(POS_.Contains("CODE_MD"))
- {
- int total = POS.Where(x => x == POS_).Count();
- total_1 = total_1+total;
- var f1 = POS_ + " " + total;
- string f2 = f1.Replace("<CODE_MD>", " ").Replace("</CODE_MD>", " ");
- string [] pos = {f2};
- string path = @"VR.txt";
- string[] second = File.ReadAllLines(path);
- var q = from a in pos
- select a.Split(' ') into pa
- join b in second on pa[1] equals b.Split(' ')[0] into bs
- from b in bs.DefaultIfEmpty(pa[0])
- select string.Format("{0} {1}", b, pa[0]);
- foreach (var x in q)
- Console.WriteLine(x);
- }
- }
- Console.WriteLine("Общий итог: " + total_1);
- Console.ReadLine();
- }
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д