【发布时间】:2016-05-20 04:29:48
【问题描述】:
我在 c# 中有一堆对象,它们具有共同的方法 finalPrice()。我把它们都放在一个数组中。
我想使用foreach,这样我就可以在每一个上执行finalPrice()。
precioBase 是我想在每次迭代中显示的属性,但首先我必须在数组的每个对象(每个“articulo”)上使用finalPrice()。
代码:
Electrodomestico articulo1 = new Electrodomestico(1000, 5,'F',"azul");
Electrodomestico articulo2 = new Electrodomestico();
Electrodomestico articulo3 = new Electrodomestico(1600, 60);
Electrodomestico articulo4 = new Electrodomestico(3000, 90, 'J');
Electrodomestico articulo5 = new Electrodomestico(1000, 5, 'F', "violeta");
Lavadora articulo6 = new Lavadora();
Lavadora articulo7 = new Lavadora(10, 600, 'A', "rojo", 50);
Television articulo8 = new Television();
Television articulo9 = new Television(20, 5000, 'D', "gris", true, 60);
Television articulo10 = new Television(10, 10000);
object[] electrodomestico = {articulo1,articulo2,articulo3,articulo4,articulo5,articulo6,articulo7,articulo8,articulo9,articulo10 };
foreach(double elarticulo in electrodomestico)
{
}
【问题讨论】:
-
请粘贴格式化且正确的代码。例如,您的
foreach语句缺少左括号。您的数组也不是您在 C# 中实例化数组的方式。articuloX是什么类型?如果您在设计问题时没有表现出非常基本的努力,那么您不太可能获得很多帮助。 -
抱歉,我的英语说得不太好,也不知道如何正确说出我在寻找什么。我的程序中有 3 个类,A、B 和 C。B 和 C 都从 A 继承。我创建了这三个类的对象,它们被称为“articulos”并将它们放在一个数组中。所有这些对象都有一个共同的方法 finalPrice(),所以我想为数组中的每个对象使用该方法,不管它们来自不同的类
-
我可以从这段代码中解释的是你的 articulo 对象只是 doubles 。所以你可以像这样使用它 foreach(double precioBase in electrodomestico) { precioBase.finalPrice(); }
-
这与英语无关 - 与您提供给我们的代码有关。它至少应该编译,因为您的问题与编译错误无关。向我们展示您目前正在使用的实际代码。
-
不要将
object[]用于集合,创建一个名为Product的基类型,然后将Electrodomestico、Television、Lavadora派生自它,这样您就可以使用强类型集合List<Product>来保存您的所有产品。