我试图显示一个父类的两个子类的列表:
List<Geschenk> GeschenkListe = new List<Geschenk>
{
new GeschenkKom(1,"PC-Spiel The Moment Of Silence","House Of Tales"),
new GeschenkKom(2, "PC-Spiel Syndicate", "BullFrog"),
new GeschenkKom(3, "PC-Spiel Syndicate Wars", "BullFrog"),
new GeschenkKom(4, "PC-Spiel The Longest Journey", "FunCom"),
new GeschenkKom(5, "PC-Spiel The Longest Journey: Dreamfall", "FunCom"),
new GeschenkBas(6, "Weihnachtsstern", 1),
new GeschenkBas(7, "Etui", 2),
new GeschenkBas(9, "Weihnachtspyramide", 3),
new GeschenkBas(10, "Kalender", 1)
};
GeschenkListe.Add(new GeschenkKom(11, "PC-Spiel The Moment Of Silence", "House Of Tales"));
我知道自己创建的内容,但不知道如何正确命名或如何输出。我试过了:
foreach(Object f in Geschenkliste)
{
Geschenkliste(f).Ausgeben();
}
我尝试用Geschenk代替Object都没有用。
Geschenk是GeschnekKom和GeschenkBas的父类。
有谁能够帮助我?
最佳答案
您可以尝试以下方法:
foreach(var item in Geschenkliste)
{
item.Ausgeben();
}
正如可以从代码中推断出的那样,您只需尝试在
Ausgeben
中的每个对象上调用称为Geschenkliste
的方法。因此,通过使用上述的foreach
语句,您可以这样做。您隐式声明(使用var
)item
的类型。在编译时,它将用Geschenk
代替,这是其引用存储在列表中的项目的类型。换句话说,以上foreach
语句等效于以下语句:foreach(Geschenk item in Geschenkliste)
{
item.Ausgeben();
}
为什么通过将
item
类声明为Object
的类型呢?因为方法
Ausgeben
是在类Geschenk
而不是System.Object
上定义的,而是.NET Framework(Object)中所有类型的基类。关于c# - C#如何显示类似以下对象的列表:,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48570572/