Я пытаюсь найти лучший способ разбора этого текстового файла с разделителями-запятыми. Вот выдержка:
bldgA, fred, lunch
bldgA, sally, supper
bldgB, bob, parking lot
bldgB, frank, rooftop
...
То, что я пытаюсь сделать, это прочитать «bldgA», а затем мне нужен человек (2-й столбец), например, «fred». Но я не хочу анализировать файл в поисках «fred», потому что fred может не появиться в следующий раз, тогда как bldgA всегда будет. Я хочу прочитать текстовый файл, увидеть, что я нахожусь на bldgA, и прочитать следующий элемент в моем списке, который является Фред. После этого я хочу проверить, если это Фред, Салли и т. Д. И распечатать третий столбец. Я знаю, что это может быть проще с базой данных, но для небольшого текстового файла это немного излишне, так что я могу назвать столбцы. Прежде чем прибегнуть к Access или к чему-то маленькому, я подумал, что попробую переполнение стека. Вот что у меня есть:
string BuildingFile = Server.MapPath("buildings.txt");
StreamReader FileStreamReader;
FileStreamReader = File.OpenText(BuildingFile);
while (FileStreamReader.Peek() != -1)
{
string[] words;
words = FileStreamReader.ReadLine().Split(',');
foreach (string word in words)
{
if (word == "bldgA")
{
//but since word is only on "bldgA"
//how can I get the next item in the list which
//is on the same line?
//print out the name of the person and then the duty
}
if (word == "bldgB")
{
//same as A
}
}
}
FileStreamReader.Close();
Мой окончательный результат будет
"Вы находитесь в здании, и вас зовут Фред, и ваш долг - обед"