GoodsNumber 商品编号、Title商品名称、GoodsForm商品源
List<Goods> goodsList = new List<Goods>();
Goods good1 = new Goods();
good1.GoodsNumber = 1001;
good1.Title = "iphone4";
good1.GoodsForm = "京东";
goodsList.Add(good1);
Goods good2 = new Goods();
good2.GoodsNumber = 1002;
good2.Title = "HTC G11";
good2.GoodsForm = "京东";
goodsList.Add(good2);
Goods good3 = new Goods();
good3.GoodsNumber = 1003;
good3.Title = "三星NOTE2";
good3.GoodsForm = "天猫";
goodsList.Add(good3);
Goods good4 = new Goods();
good4.GoodsNumber = 1004;
good4.Title = "联想乐phone";
good4.GoodsForm = "天猫";
goodsList.Add(good4);
Goods good5 = new Goods();
good4.GoodsNumber = 1005;
good4.Title = "小鬼当家漫画";
good4.GoodsForm = "当当网";
goodsList.Add(good5);找出相同商品来源的商品,根据相同的商品来源组合成新的List<Goods>,
上面的例子将组合成三个
当当网 
天猫
京东
该怎么实现?

解决方案 »

  1.   

    List<Goods>[] result = goodsList.GroupBy(t=>t.GoodsForm).Select(t=>t.Values.ToList()).ToArray();
      

  2.   

    tryvar ary=goodsList.GroupBy(t=>t.GoodsForm).Select(t=>new{GoodsForm=t.Key,goodsList=t.ToList()}).ToList();
      

  3.   


    怎么组合成三个新的List<Goods>啊。。
      

  4.   

    把商品来源相同的放到一个list里面
      

  5.   

    没看到我的吗?睁眼瞎?
    List<Goods>[]不知道这是什么东西?
      

  6.   


    您的代码贴上去有错啊。            List<Goods>[] result = goodsList.GroupBy(t => t.GoodsForm).Select(t => t.Values.ToList()).ToArray();
      

  7.   

    var result = goodsList.GroupBy(t=>t.GoodsForm).Select(t=>t.ToList()).ToList();
      

  8.   

    List<Goods> result = goodsList.GroupBy(t=>t.GoodsForm).Select(t=>
    new Goods()
    {
       GoodsNumber = t.GoodsNumber ,
       Title = t.Title ,
       GoodsForm = t.GoodsForm 
    }).ToList();
      

  9.   

    List<Goods>[] result = goodsList.GroupBy(t => t.GoodsForm).Select(t => t.ToList()).ToArray();
    记错了,多了个Values