protected static List<string> GetHardBreaks(String text)
{
List<string> arr = new List<string>();
char[] cs = text.ToCharArray();
int len = cs.Length;
StringBuilder buf = new StringBuilder();
for (int k = 0; k < len; ++k) {
char c = cs[k];
if (c == '\r') {
if (k + 1 < len && cs[k + 1] == '\n')
++k;
arr.Add(buf.ToString());
buf = new StringBuilder();
}
else if (c == '\n') {
arr.Add(buf.ToString());
buf = new StringBuilder();
}
else
buf.Append(c);
}
arr.Add(buf.ToString());
return arr;
}