zoukankan      html  css  js  c++  java
  • LInq中分组的笔记,记录一下。

    /*
                DataTable dtProduct = new DataTable();
                dtProduct.Columns.Add("ID");
                dtProduct.Columns.Add("Product");
    
                DataRow dr1 = dtProduct.NewRow();
                dr1["ID"] = "1";
                dr1["Product"] = "产品1";
                dtProduct.Rows.Add(dr1);
    
                DataRow dr2 = dtProduct.NewRow();
                dr2["ID"] = "2";
                dr2["Product"] = "产品2";
                dtProduct.Rows.Add(dr2);
    
                DataTable dtTip = new DataTable();
                dtTip.Columns.Add("ID");
                dtTip.Columns.Add("PID");
                dtTip.Columns.Add("Tip");
    
                DataRow dr3 = dtTip.NewRow();
                dr3["ID"] = "1";
                dr3["PID"] = "1";
                dr3["Tip"] = "标签1";
                dtTip.Rows.Add(dr3);
    
                DataRow dr4 = dtTip.NewRow();
                dr4["ID"] = "2";
                dr4["PID"] = "1";
                dr4["Tip"] = "标签2";
                dtTip.Rows.Add(dr4);
    
                DataRow dr5 = dtTip.NewRow();
                dr5["ID"] = "3";
                dr5["PID"] = "1";
                dr5["Tip"] = "标签3";
                dtTip.Rows.Add(dr5);
    
                DataRow dr6 = dtTip.NewRow();
                dr6["ID"] = "4";
                dr6["PID"] = "2";
                dr6["Tip"] = "标签1";
                dtTip.Rows.Add(dr6);
    
                DataRow dr7 = dtTip.NewRow();
                dr7["ID"] = "5";
                dr7["PID"] = "2";
                dr7["Tip"] = "标签3";
                dtTip.Rows.Add(dr7);
    
    
                var result = dtProduct.Rows.Cast<DataRow>().Select(R => new
                {
                    PID = R["ID"].ToString(),
                    Product = R["Product"].ToString(),
                    Tips = string.Join(",", 
                                dtTip.Rows
                                .Cast<DataRow>()
                                .Where(
                                    C => C["PID"].ToString().Equals(R["ID"].ToString())
                                 )
                                .Select(C => C["Tip"].ToString())
                                .ToArray())
                });
    
                foreach (var r in result) {
                    Console.WriteLine(r.Product + " - " + r.Tips);
                }
                */
    
                List<Tables> list = new List<Tables>();
                
                
                DataTable dtTip = new DataTable();
                dtTip.Columns.Add("ID");
                dtTip.Columns.Add("Product");
                dtTip.Columns.Add("Tip");
    
                DataRow dr3 = dtTip.NewRow();
                dr3["ID"] = "1";
                dr3["Product"] = "产品1";
                dr3["Tip"] = "标签1";
                dtTip.Rows.Add(dr3);
    
                DataRow dr4 = dtTip.NewRow();
                dr4["ID"] = "2";
                dr4["Product"] = "产品1";
                dr4["Tip"] = "标签2";
                dtTip.Rows.Add(dr4);
    
                DataRow dr5 = dtTip.NewRow();
                dr5["ID"] = "3";
                dr5["Product"] = "产品1";
                dr5["Tip"] = "标签3";
                dtTip.Rows.Add(dr5);
    
                DataRow dr6 = dtTip.NewRow();
                dr6["ID"] = "4";
                dr6["Product"] = "产品2";
                dr6["Tip"] = "标签1";
                dtTip.Rows.Add(dr6);
    
                DataRow dr7 = dtTip.NewRow();
                dr7["ID"] = "5";
                dr7["Product"] = "产品2";
                dr7["Tip"] = "标签3";
                dtTip.Rows.Add(dr7);
    
                /*
                var result = from DataRow datarow in dtTip.Rows
                             group datarow by datarow["Product"].ToString() into g
                             select new
                             {
                                 Product = g.Key,
                                 Tips = string.Join("," , g.Select(R => R["tip"].ToString()).ToArray())
                             };
    
                */
    
                var result = dtTip.Rows.Cast<DataRow>().GroupBy(R => R["Product"].ToString()).Select(G => new
                {
                    Product = G.Key,
                    Tips = string.Join(",", G.Select(R => R["tip"].ToString()).ToArray())
                });
    
                foreach (var r in result)
                {
                    Console.WriteLine(r.Product + " - " + r.Tips.ToString());
                }
    
                Console.ReadLine();
  • 相关阅读:
    vue 实战
    通信的三个核心问题
    中间件编程—面向通信的软件组件
    jsbridge与通信模型
    laravel5.6 调用第三方类库
    淘宝IP地址库API接口(PHP)通过ip获取地址信息
    这可能是目前最全的Redis高可用技术解决方案总结
    json_decode遇到的编码问题
    太平洋网络ip地址查询接口使用,返回json格式,默认返回jsonp
    分享几个IP获取地理位置的API接口(最全面的了)
  • 原文地址:https://www.cnblogs.com/chenliang-zibo/p/5895268.html
Copyright © 2011-2022 走看看