Цикл 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# в целом