Прежде всего позвольте мне поблагодарить вас всех за то, что вы являетесь частью этого сайта, я уже получил от него так много полезной информации. включая базовый анализ текстовых файлов в массивах, но теперь я хочу пойти еще дальше.
У меня есть текстовый файл, который выглядит примерно так
Start Section 1 - foods
apple
bannana
pear
pineapple
orange
end section 1
Start section 2 - animals
dog
cat
horse
cow
end section 2
. Я хочу использовать одно чтение файла, скопировать данные из раздела 1 в массив под названием «food», а раздел 2 в и массив под названием «animals»
, теперь я могу заставить его работать, используя новый цикл для каждого раздела, каждый раз закрывая и снова открывая файл, повторяя цикл до тех пор, пока не найду нужный раздел, и создаю массив.
Но я подумал, что должен быть способ считывать каждый раздел в отдельный массив за один раз, экономя время.
, поэтому мой текущий код -
List<string> typel = new List<string>();
using (StreamReader reader = new StreamReader("types.txt")) // opens file using streamreader
{
string line; // reads line by line in to varible "line"
while ((line = reader.ReadLine()) != null) // loops untill it reaches an empty line
{
typel.Add(line); // adds the line to the list varible "typel"
}
}
Console.WriteLine(typel[1]); // test to see if list is beeing incremented
string[] type = typel.ToArray(); //converts the list to a true array
Console.WriteLine(type.Length); // returns the number of elements of the array created.
, который предназначен для простого текстового файла без разделов, только со списком значений, использование списка казалось хорошим способом справиться с неизвестной длиной массивов.
Мне также было интересно, как работать с первым значением.
например, если я делаю
while ((line = reader.ReadLine()) != Start Section 1 - foods)
{
}
while ((line = reader.ReadLine()) != end Section 1)
{
foods.Add(line);
}
...
....
, я получаю «начало раздела 1 - продукты» как один из элементов массива. Я могу удалить его с помощью кода, но есть ли простой способ избежать этого, чтобы заполнялись только элементы списка?
Ура и еще раз спасибо за помощь. Приятно вернуться к программированию спустя много лет.
Аарон