Цикл Foreach на нескольких экземплярах одного класса

Я пытаюсь создать систему бронирования авиабилетов, так как это был мой проект экспертизы сотрудников, и поэтому я решил, что, если я сделаю это, я смогу работать на том же уровне, что и он. Я программист PHP (да, ОО), переходя на C#.

Я создал несколько версий класса, как таковой:

    Vluchten flight1 = new Vluchten("1337", "Scandinavian Airlines", "Oslo Intl", 180, 162);
    Vluchten flight2 = new Vluchten("101", "KLM", "Derpistan", 20, 17);
    Vluchten flight3 = new Vluchten("112", "Ryan Air", "Doetinchem Rock City", 10, 7);

Теперь мне было интересно, я все это сделал правильно, но есть ли способ, которым я могу пройти через это, чтобы затем я мог поместить их в таблицу просмотра данных?

3 ответа

Решение

Вам нужно будет положить их в List<Vluchten>, а затем вы можете легко использовать foreach петля

List<Vluchten> flights = new List<Vluchten>() { flight1, flight2, flight3 };

foreach(Vluchten flight in flights)
{
  //do something
}

Вы можете инициализировать их в массив или список вместо отдельных объектов:

var flights = new[]
{
     new Vluchten("1337", "Scandinavian Airlines", "Oslo Intl", 180, 162),
     new Vluchten("101", "KLM", "Derpistan", 20, 17),
     new Vluchten("112", "Ryan Air", "Doetinchem Rock City", 10, 7)
};

foreach (var flight in flights)
{

}

Более быстрый способ составить список:

var flights = new List<Vluchten>
{
    new Vluchten("1337", "Scandinavian Airlines", "Oslo Intl", 180, 162),
    new Vluchten("101", "KLM", "Derpistan", 20, 17),
    new Vluchten("112", "Ryan Air", "Doetinchem Rock City", 10, 7)
};

var простой способ создания новой переменной неизвестного типа.

List<Vluchten> говорит C#, мы хотим список типа Vluchten

{} внутри этих фигурных скобок мы перечисляем несколько экземпляров объектов. Это короткая рука для flights.Add()

Затем вы можете использовать этот метод расширения для итерации по ним:

flights.ForEach(f => ..);

куда f это Vluchten, .. вы можете положить {} для обозначения тела метода, который манипулирует каждым объектом, или вы можете поставить одну строку ForEach(f => Console.WriteLine(f.Id))

ForEach просто коротка для foreach (var item in flights) {}

LINQ может использоваться в коллекции для запроса. Такие функции включают Where, Any, Select

Simples.

Я советую вам искать термины, выделенные курсивом, чтобы лучше понять язык C# в целом

Другие вопросы по тегам