当前位置:编程学习 > C#/ASP.NET >>

怎么计算营业额

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,我只能说:下三滥的培训机构和教材真是害人不浅。

--------------------编程问答--------------------
引用 4 楼  的回复:
我做.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时代并不能完全丢弃ArrayList,一直到C# 4.0的出现。这是因为之前的泛型集合并不支持逆变和协变。
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,