Environment.NewLine is a string and cannot be directly used as a delimiter for the Split method which expects a character or an array of characters.

To split the input string by newlines, you can use StringSplitOptions.RemoveEmptyEntries to eliminate empty lines. Here's how you can modify the code:



using System;


using System.Collections.Generic;


using System.Text;


class Program


{


static void Main()


{


string sInput = "This is a paragraph.\nThis is another paragraph.\n\nThis is a third paragraph.";


IEnumerable string> words = sInput.Split(new[] { '\n', '\r' }, StringSplitOptions.RemoveEmptyEntries);



StringBuilder result = new StringBuilder();


foreach (string paragraph in words)


{


if (paragraph.Length > 0)


{


if (paragraph.StartsWith("<")) // already h2 or blockquote tags


{


result.AppendLine(paragraph);


}


else


{


result.AppendLine("text" + paragraph + "text");


}


}


}


Console.WriteLine(result.ToString());


}


}

In this modified version, sInput.Split(new[] { '\n', '\r' }, StringSplitOptions.RemoveEmptyEntries) splits the input string by newline ('\n') and carriage return ('\r') characters, effectively handling different newline representations on different platforms. The StringSplitOptions.RemoveEmptyEntries option ensures that empty lines are excluded from the resulting array.