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

时间:2014-11-06 14:48:59

标签: c# foreach

我正在尝试建立一个航空公司预订系统,因为这是我的同事考试项目,所以我想如果我这样做,我可以和他一样努力。我是一名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);

现在我想知道,我已经做好了这些,但有没有办法可以循环使用,这样我就可以把它们放在datagridview表中了?

3 个答案:

答案 0 :(得分:5)

您需要将它们放入List<Vluchten>,然后您可以轻松使用foreach循环

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

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

答案 1 :(得分:1)

您可以将它们初始化为数组或列表,而不是单个对象:

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)
{

}

答案 2 :(得分:1)

让它们成为列表的更快捷方式:

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

Simples。

我建议您搜索 italic 这些术语,以便更好地理解整个C#语言