同一类的几个实例上的Foreach循环

本文关键字:实例 Foreach 几个 循环 一类 | 更新日期: 2023-09-27 18:29:20

我正在尝试建立一个航空公司预订系统,因为这是我同事的考试项目,所以我想如果我这样做,我可以达到和他一样的水平。我是一名PHP(是的,OO)程序员,正在学习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);

现在我想知道,我已经把这些做好了,但有没有一种方法可以循环使用,这样我就可以把它们放在数据网格视图表中?

同一类的几个实例上的Foreach循环

您需要将它们放入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 => ..);

其中fVluchten..可以放{}来表示操作每个对象的方法体,也可以放一行ForEach(f => Console.WriteLine(f.Id))

ForEach只是foreach (var item in flights) {} 的缩写

LINQ可用于集合查询。这些函数包括WhereAnySelect

简单。

我建议您搜索斜体的术语,以更好地理解C#语言作为一个整体的