我正在尝试建立一个航空公司预订系统,因为这是我的同事考试项目,所以我想如果我这样做,我可以和他一样努力。我是一名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表中了?
答案 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 => ..);
其中f
是Vluchten
。您可以..
{}
来表示操作每个对象的方法主体,或者可以放一行ForEach(f => Console.WriteLine(f.Id))
ForEach
只是foreach (var item in flights) {}
LINQ 来查询它。这些功能包括Where
,Any
,Select
Simples。
我建议您搜索 italic 这些术语,以便更好地理解整个C#语言