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

从List<T>找出相同商品来源的商品,根据相同的商品来源组合成新的List<T>,

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>,
上面的例子将组合成三个
当当网 
天猫
京东
该怎么实现?
--------------------编程问答-------------------- List<Goods>[] result = goodsList.GroupBy(t=>t.GoodsForm).Select(t=>t.Values.ToList()).ToArray(); --------------------编程问答-------------------- try

var ary=goodsList.GroupBy(t=>t.GoodsForm).Select(t=>new{GoodsForm=t.Key,goodsList=t.ToList()}).ToList(); --------------------编程问答--------------------
引用 2 楼 hjywyj 的回复:
try

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


怎么组合成三个新的List<Goods>啊。。 --------------------编程问答--------------------
引用 3 楼 accpchao 的回复:
引用 2 楼 hjywyj 的回复:try

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

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

把商品来源相同的放到一个list里面 --------------------编程问答-------------------- 用循环和if判断 --------------------编程问答--------------------
引用 4 楼 accpchao 的回复:
引用 3 楼 accpchao 的回复:引用 2 楼 hjywyj 的回复:try

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

怎么组合成三个新的List<Goods>啊。。
把商品来源相同的放……

没看到我的吗?睁眼瞎?
List<Goods>[]不知道这是什么东西? --------------------编程问答-------------------- 不好意思,刚才玩游戏遇到的队友太蠢了,影响心情 --------------------编程问答--------------------
引用 7 楼 ZIP_xG 的回复:
不好意思,刚才玩游戏遇到的队友太蠢了,影响心情


您的代码贴上去有错啊。

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

var result = goodsList.GroupBy(t=>t.GoodsForm).Select(t=>t.ToList()).ToList(); --------------------编程问答-------------------- List<Goods> result = goodsList.GroupBy(t=>t.GoodsForm).Select(t=>
new Goods()
{
   GoodsNumber = t.GoodsNumber ,
   Title = t.Title ,
   GoodsForm = t.GoodsForm 
}).ToList(); --------------------编程问答--------------------
引用 8 楼 accpchao 的回复:
引用 7 楼 ZIP_xG 的回复:不好意思,刚才玩游戏遇到的队友太蠢了,影响心情

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

List<Goods>[] result = goodsList.GroupBy(t => t.GoodsForm).Select(t => t.ToList()).ToArray();
记错了,多了个Values
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,