skwerlmasta Ответов: 2

Циклическое перемещение по списку в списке


Всем привет. Во-первых, я хочу сказать, что это не домашнее задание.
У меня есть небольшой опыт написания небольших программ для моего личного использования, хотя это было давно. У меня есть проблема, и я надеюсь, что некоторые из вас смогут пролить свет на нее.

Я пишу небольшую программу для анализа некоторых csv-файлов для гандикапных скачек. Есть три файла с тонной информации. Меня интересует лишь небольшая часть этих данных. Я пытаюсь упорядочить данные, а затем записать их обратно в csv-файл, который можно открыть в excel.
Так что у меня есть расовый класс:
public class Race
       {
           public string RaceNumber { get; set; }
           public string RaceDate { get; set; }
           public string Track { get; set; }
           public string Distance { get; set; }
           public string Surface { get; set; }
           public List<Horse> Horses = new List<Horse>;
       }


а конный класс:
public class Horse
       {
           public string HorseName { get; set; }
           public string raceNumber { get; set; }
           public string HorseNumber { get; set; }
           public string[] PP = new string[10];

       }


У меня также есть список под названием raceList, который содержит все классы гонок.
Я могу пройти через это и убедиться, что данные верны. Однако, когда я пытаюсь проверить список лошадей в классе скачек, я сталкиваюсь с проблемой. Я уверен, что это как-то связано с тем, как я все это устроил.
Итак,у меня есть список "класс" гонки, который содержит список "классы"лошадей. Я попытался обойти их таким образом:
foreach (Race race in raceList)
                  {
                      Debug.WriteLine(race.Track);
                      Debug.WriteLine(race.RaceDate);
                      Debug.WriteLine(race.RaceNumber);
                      foreach (Horse horse in Horses)
                      {
                          Debug.WriteLine(horse.HorseNumber);
                          Debug.WriteLine(horse.HorseName);
                      }


                  }


Прямо сейчас я использую debug writeline для проверки данных, чтобы убедиться, что они находятся в нужном месте, но я получаю "имя", которое не существует в текущем контексте.Он правильно петляет по гоночному списку. Я в тупике. Я попробовал погуглить (прошло уже много времени с тех пор, как я это делал, так что я погуглил кучу), но я ничего не нашел.
Если у кого-то есть какие-то идеи, я буду очень признателен.
Спасибо, что нашли время почитать.

Что я уже пробовал:

Я гуглил это безрезультатно. Я просто понятия не имею.

2 Ответов

Рейтинг:
2

Patrice T

Вы пробовали что-то вроде:

foreach (Race race in raceList)
{
    Debug.WriteLine(race.Track);
    Debug.WriteLine(race.RaceDate);
    Debug.WriteLine(race.RaceNumber);
    foreach (Horse horse in race.Horses)
    {
        Debug.WriteLine(horse.HorseNumber);
        Debug.WriteLine(horse.HorseName);
    }


}


phil.o

5 б
Вы должны исправить корпус устройства. race переменная, однако :)

Patrice T

Спасибо.
Исправленный :)

Maciej Los

5ed!

Patrice T

Спасибо

Рейтинг:
0

skwerlmasta

Это сделало свое дело.Премного благодарен.
Всегда кажется, что есть что-то легкое, что я упускаю из виду. Мне действительно нужно вернуться с некоторыми хорошими учебниками.
Я действительно ценю быстрый ответ.
Надеюсь, вы все отлично проведете выходные.


Patrice T

Совет: Не используйте решение для обсуждения с автором решения, вместо этого используйте "есть вопрос или комментарий?" кнопка на дне раствора. Преимущество, автор уведомлен.
Когда решение было полезным, вы также можете принять его, это говорит всем, что проблема решена.