I had a requirement to create a TextWriter to populate some data. I used the StringWriter as a TextWriter and the business logic works fine.
I have a technical requirement that cannot be changed because it may break all the clients. I need to an array of strings string[] from the TextWriter separated by line.
I tried with this but didn’t work:
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);
}
}
}
Any idea or suggestion?
Try using
Environment.NewLineto split rather than'\n':