У меня было требование создать TextWriter
для заполнения некоторых данных. Я использовал StringWriter
как TextWriter, и бизнес-логика отлично работает.Convert StringWriter to string []
У меня есть техническое требование, которое нельзя изменить, поскольку оно может сломать всех клиентов. Мне нужен массив строк string[]
от TextWriter
, разделенных линией.
Я пытался с этим, но не получилось:
using System;
using System.IO;
using System.Text;
namespace TextWriterToArrayOfStringsDemo
{
internal static class Program
{
private static void Main()
{
var stringBuilder = new StringBuilder();
using (TextWriter writer = new StringWriter(stringBuilder))
{
writer.Write("A");
writer.WriteLine();
writer.Write("B");
}
string fullString = stringBuilder.ToString();
string replaced = fullString.Replace('\n', '\r');
string[] arrayOfString = replaced.Split('\r');
// Returns false but should return true
Console.WriteLine(arrayOfString.Length == 2);
}
}
}
Любая идея или предложение?
Почему заменить символы конца-строки? Это даст вам два разрыва строки, если он когда-либо генерирует '\ r \ n' (что я был бы удивлен, если бы это сделал). И можете ли вы дать нам более подробную информацию о том, что это производит, т. Е. Что еще не так? – Rup
Дело в том, что
writer.NewLine
содержит\r\n
. Мне нужно получить содержание писателя, разделенное\r\n
, и не включать\r
или\n
. – rcarrillopadronОтветы Джеффа или Джона - это, вероятно, путь, но простой способ исправить ваш - это «string replace = fullString.Replace (« \ r \ n »,« \ n »);' и 'string [] arrayOfString = replace .Split ('\ n'); ' – Rup