Замена строк в коллекциях по одинаковому вхождению - 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();
}
}
}