Имеется txt файл вида:
Джон Добрый день!
Секретарь Здравствуйте! Вы по какому вопросу?
Джон Извините, я хотел бы сдать сессию пораньше, чтобы уехать домой.
Секретарь По какой причине Вы хотите досрочно сдать сессию?
Нужно объединить 1 + 2 Результат:
Джон Добрый день!
Секретарь Здравствуйте! Вы по какому вопросу?
Потом 3 + 4
Джон Извините, я хотел бы сдать сессию пораньше, чтобы уехать домой.
Секретарь По какой причине Вы хотите досрочно сдать сессию?
И так до конца файла
Считываю файл так
FileStream stream = new FileStream(path, FileMode.Open);
StreamReader reader = new StreamReader(stream);
string str = reader.ReadLine();
stream.Close();
Console.WriteLine(str);
Но дальше не знаю,что делать
С помощью библиотеки morelinq это можно сделать так:
var stringsPairs = File.ReadLines(...).Batch(2).Select(p => string.Join("\n", p));
Зачем читать по чуть-чуть, если можно одной строкой обойтись:
var text = File.ReadAllLines(@"C:\downloads\asdf123.txt");
Или прочитать их же лениво, но по-прежнему одной строкой:
var text = File.ReadLines(@"C:\downloads\asdf123.txt");
Получим массив строк (ReadAllLines) или IEnumerable<string>
(ReadLines):
И после этого соединить строки:
var result = string.Join(" ", text);
Разделитель по вкусу - хоть пробел, хоть перевод строки.
Если же у вас нужно по две объединить (посмотрел разметку вопроса, но не уверен, что правильно понял), то:
public IEnumerable<string> Twix(IEnumerable<string> data)
{
var e = data.GetEnumerator();
while (e.MoveNext())
{
var el1 = e.Current;
if(e.MoveNext())
{
var el2 = e.Current;
yield return $"{el1} {el2}";
}
else
{
yield return el1;
}
}
}
Запускаем:
var result = Twix(text);
На выходе:
И на закуску linq-однострочник (если будет нечётное число строк, то последняя не попадёт в результат):
var result = text.Where((a,i) => i % 2 == 0).Zip(text.Where((a,i) => i % 2 == 1), (a,b) => $"{a} {b}");
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Недавно начал изучать корутиныНе совсем понимаю, как они работают
Как реализовать таблицу такого вида на XAML? Туплю конкретноЕсли не сложно, можно готовый код или ссылку на статью, где подобное подробно описывается
Люди добрые, осваиваю сокеты на c#, и увидел товарища на ютюбе, который объясняет как это делатьВообщем, когда он принимает сообщение от клиента(простая...