怎么计算营业额
public ArrayList goods = new ArrayList();Good g1 = new Good();
g1.goodsName = "皮鞋";
g1.goodPurchase =180;//进价
g1.goodsPrice = 200;//卖价
data.goods.Add(g1);
Good g2 = new Good();
g2.goodsName = "西装裤";
g2.goodPurchase = 60;
g2.goodsPrice = 80;
data.goods.Add(g2);
Good g3 = new Good();
g3.goodsName = "电风扇";
g3.goodPurchase = 70;
g3.goodsPrice = 99;
data.goods.Add(g3);
Good g4 = new Good();
g4.goodsName = "王老吉";
g4.goodsPrice = 3;
g4.goodPurchase =4;
data.goods.Add(g4);
public ArrayList goods = new ArrayList();
我想知道 怎么做 才能统计它的 出售价和进价的和
--------------------编程问答--------------------
--------------------编程问答--------------------
ArrayList goods = new ArrayList();
Good g1 = new Good();
g1.GoodsName = "皮鞋";
g1.GoodPurchase = 180;//进价
g1.GoodsPrice = 200;//卖价
goods.Add(g1);
Good g2 = new Good();
g2.GoodsName = "西装裤";
g2.GoodPurchase = 60;
g2.GoodsPrice = 80;
goods.Add(g2);
Good g3 = new Good();
g3.GoodsName = "电风扇";
g3.GoodPurchase = 70;
g3.GoodsPrice = 99;
goods.Add(g3);
Good g4 = new Good();
g4.GoodsName = "王老吉";
g4.GoodsPrice = 3;
g4.GoodPurchase = 4;
goods.Add(g4);
int goodsPrice = 0;
int goodPurchase = 0;
foreach (Good g in goods)
{
goodsPrice += g.GoodsPrice;
goodPurchase += g.GoodPurchase;
}
var goodsPricetotal = goods.Cast<object>().Sum(x => (x as Good).GoodsPrice);--------------------编程问答-------------------- 有几件“背景知识”需要了解:
var goodPurchasetotal = goods.Cast<object>().Sum(x => (x as Good).GoodPurchase);
1. 我们不用ArrayList等弱类型数据结构。我们基本上要求只用强类型的,以便保证程序可以在编译时检查出更多设计错误。
2. 当你使用一个简单的 Good[] 数据结构或者List<Good>数据结构,使用一个foreach就能遍历了。累计不是问题。
3. 最为重要的是,所谓“售价+进价”的和,这是一个很无厘头的概念。我怀疑你被一个培训机构忽悠了。稍微有一个行业(零售业)知识的人就知道,商品的进价是变动的,是跟进货批次或者进货单相关的,放在跟售价并列来进行逻辑设计,非常荒唐。 --------------------编程问答-------------------- 我做.Net开发这几年,还真没有用到过ArrayList。
因为我接触.Net是从.Net 2.0开始接触的,所以我甚至曾经不知ArrayList的存在。
直到有一天被问到ArrayList,然后查了一下,才知道了原来.Net里面还有ArrayList。
但ArrayList是.Net 1.0、1.1年代的产物,它实际上在.Net 2.0里面已经不推荐适用了,只不过为了与.Net 1.x兼容,所以类库里还保留着这个类。
在.Net 2.0里面,可以用List<object>来代替ArrayList。显然通常我们不会用List<object>,除非我们真的不能确定List<T>的这个T的类型。
如果时至今日还有人在代码里面用到ArrayList,我只能说:下三滥的培训机构和教材真是害人不浅。
--------------------编程问答--------------------
在.NET 2.0时代并不能完全丢弃ArrayList,一直到C# 4.0的出现。这是因为之前的泛型集合并不支持逆变和协变。
补充:.NET技术 , C#