>Using the char[] approach results in a string being written to the array for anything between a LF and CR (which if fine) but also for anything between CR and LF which, in the scenario, is an empty string. If you didn't have any genuinely empty strings between a LF and CR then using the StringSplitOptions.RemoveEmptyEntries would be fine but that wasn't the case.....
So, it is normal that with the previous code it was not working. I am using yours now and all seems to be ok.
>BTW - why bother using a StringBuilder in the LoadString() method ?
The LoadString() method is the initial method that will be called in this class to initalize a few things. One of them is to load everything into a stringbuilder because other methods need it. I do understand however that I could change the Split() line to deal directly with tcString.