LINQ 的 一些语句

1.找出B1在A1中(以逗号分隔的)完全匹配的字符串结果:
  string
  A1 = "abc,efg,hik,lmn,opq"
  string  B1= "efg,d3l,opq,LMn";
var result = A1.Split(',').Intersect(B1.Split(','))

Intersect  通过使用默认的相等比较取出两个序列的交集。

2.产品id    颜色   尺寸     型号

   1        红色    5*6    型号1
   1        红色    10*10  型号2
   1        黑色    5*6    型号1
   1        白色    10*10  型号2
  现在想搜出来产品id为1的所有颜色;所有尺寸;所有型号,不重复。用linq怎么写呢
如显示时是 产品id1,颜色有:红色;黑色;白色
                 尺寸有:5*6;10*10
 
 var dtquery = from d in dt.AsEnumerable()
                        group d by d.Field<string>("产品id") into temp
                        select new 
                        {
                            产品id=temp.Key,
                            颜色 = string.Join(";", temp.Select(x => x.Field<string>("颜色")).Distinct().ToArray()),
                            尺寸 = string.Join(";", temp.Select(x => x.Field<string>("尺寸")).Distinct().ToArray())
                        };
 
 
            foreach (var qt in dtquery)
            {
                Console.WriteLine(qt.产品id+"\t"+qt.颜色+"\t"+qt.尺寸);
            }


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值