У вас на самом деле есть две проблемы - одна из них заключается в том, что вы пытаетесь установить значения в нулевой массив, а другая - как вы пытаетесь определить, является ли первый символ строка - это пробел.
Я бы использовал List<String>
для строк, не начинающихся с пробела, поскольку вы не можете сказать, сколько их будет, но тогда вы предполагаете , что каждая строка будет не пустой. К счастью, это легко исправить, используя StartsWith
.
Я бы , затем использовал бы LINQ, если вы используете .NET 3.5 или выше, что делает все это действительно простым:
List<string> mainAndSublines = File.ReadAllLines(filename)
.Where(x => !x.StartsWith(" "))
.ToList();
В .NET 4 вы можете сделать это более эффективным с точки зрения памяти, используя File.ReadLines
вместо File.ReadAllLines
- это потоковый файл вместо загрузки всего объекта в память для начала.