精华内容
下载资源
问答
  • linq 两个list合并处理,并分组
    2019-10-05 22:56:10

    //两个list合并处理
    /unreadMsgList = unreadMsgList.Union(list).ToList();

     //合并处理[MsgCount]
     unreadMsgList.ForEach(c =>
     {
     var group = unreadMsgList.Where(a => a.SenderMark == c.SenderMark);
     c.MsgCount = group.Sum(x => x.MsgCount);
     });

     //去重复
     unreadMsgList = unreadMsgList.Distinct().ToList();

    转载于:https://www.cnblogs.com/fyy1003668657/p/10190163.html

    更多相关内容
  • linq合并集合

    2017-06-23 11:20:57
    var balance1 = from b in balance join ***** 很多表 ...根据需求我查出了这三个集合,其中balance1 是主表,所有字段都要显示,我要看出balance1 字段+balance2 中的bala,+balance3 中的grad
  • LINQ(合并)

    2019-12-26 15:00:30
    对于合并,这很重要,因为第一个集合中的第一项会与第二个集合中的第一项合并,第一个集合中的第二项会与第二个集合中的第二项合并,以此类推。如果两个序列的项数不同,Zip()方法就在到达较小集合的末尾时停止。 ...

    Zip()方法允许用一个谓词函数把两个相关的序列合并为一个。

    首先,创建两个相关的序列,它们使用相同的筛选(国家意大利)和排序方法。对于合并,这很重要,因为第一个集合中的第一项会与第二个集合中的第一项合并,第一个集合中的第二项会与第二个集合中的第二项合并,以此类推。如果两个序列的项数不同,Zip()方法就在到达较小集合的末尾时停止。

    第一个集合中的元素有一个Name属性,第二个集合中的元素有LastName和Starts两个属性。

    在racerNames集合上使用Zip()方法,需要把第二个集合(racerNamesAndStarts)作为第一个参数。第二个参数的类型是Func<TFirst,TSecond,TResult>。这个参数实现为一个lambda表达式,它通过参数first接收第一个集合的元素,通过参数second接收第二个集合的元素。其实现代码创建并返回一个字符串,该字符串包含第一个集合中元素的Name属性和第二个集合中元素的Stars属性:

            static void ZipOperation()
            {
                var racerNames = from r in Formula1.GetChampions()
                               where r.Country == "Italy"
                               orderby r.Wins descending
                               select new {
                                   Name = r.FirstName + " " + r.LastName
                               };
                var racerNamesAndStarts = from r in Formula1.GetChampions()
                                        where r.Country == "Italy"
                                        orderby r.Wins descending
                                        select new {
                                            Name = r.LastName,
                                            Stars = r.Starts
                                        };
                var racers = racerNames.Zip(racerNamesAndStarts,
                          (first,second)=>first.Name + ", stars: " + second.Stars); 
                foreach(var r in racers)
                {
                    System.Console.WriteLine(r);
                }
            }

    这个合并的结果是:

    Alberto Ascari, stars: 32
    Nino Farina, stars: 33

     

    展开全文
  • linq 左连接实现两个集合合并

    千次阅读 2016-04-09 11:39:34
    //第一个集合为所有的数据 var specilist = new List();  var resultall = (from a in dbContext.by_sku_items  join b in dbContext.by_attributes on a.by

    //第一个集合为所有的数据

    var specilist = new List<Me.SpecificationsInfo>();

                            var resultall = (from a in dbContext.by_sku_items
                                            join b in dbContext.by_attributes on a.by_attributes_id equals b.by_attributes_id
                                            join c in dbContext.by_attribute_values on a.by_attribute_values_id equals c.by_attribute_values_id
                                            where a.by_product_id == proid
                                            select new Me.OrderEditAll
                                            {
                                                skuid = a.by_sku_items_id,
                                                colorid = b.by_attributes_id,
                                                color = b.attributes_name,
                                                sizeid = c.by_attribute_values_id,
                                                size = c.value_str
                                            }).ToList();

    //第二个集合为需要合并的集合
                            var orderitemlist = dbContext.by_order_item.Where(t => t.order_id == _orderid && t.by_product_id == proid).ToList();
                            var resultorder = (from a in orderitemlist
                                         join b in dbContext.by_sku_items on a.by_sku_items_id equals b.by_sku_items_id
                                         join c in dbContext.by_attributes on b.by_attributes_id equals c.by_attributes_id
                                         join d in dbContext.by_attribute_values on b.by_attribute_values_id equals d.by_attribute_values_id
                                         //where b.status == statusWorking && c.status == statusWorking && d.status == statusWorking
                                         orderby c.index, d.index
                                         select new Me.OrderEdit
                                         {
                                             skuid = a.by_sku_items_id,
                                             id = a.by_order_item_id,
                                             nums = a.nums,
                                             colorid = c.by_attributes_id,
                                             color = c.attributes_name,
                                             sizeid = d.by_attribute_values_id,
                                             size = d.value_str
                                         }).ToList();

    //第三个为最终结果,将不为空的数据合并到所有集合中
                            var result = (from all in resultall
                                         join order in resultorder on all.skuid equals order.skuid into temp
                                         from tt in temp.DefaultIfEmpty()
                                         select new Me.OrderEdit
                                         {
                                             skuid = all.skuid,
                                             id = tt != null ? tt.id : 0,
                                             nums = tt != null ? tt.nums : 0,
                                             colorid = all.colorid,
                                             color = all.color,
                                             sizeid = all.sizeid,
                                             size = all.size

                                         }).ToList();


    //第二种为sql实现方式

    select by_sku_items_id,sum(t1.by_order_items_id) as by_order_items_id,sum(t1.nums) as nums,t1.by_attributes_id,t1.attributes_name,t1.by_attribute_values_id,t1.value_str from 
    (
    select  * from (
    select * from 
    (select a.by_sku_items_id,0 as by_order_items_id,0 as nums,b.by_attributes_id,b.attributes_name,c.by_attribute_values_id,c.value_str from by_sku_items a
    join by_attributes b on a.by_attributes_id=b.by_attributes_id
    join by_attribute_values c on a.by_attribute_values_id=c.by_attribute_values_id
    where by_product_id=9 ) aa
    UNION 
    select * from (
    select a.by_sku_items_id,a.by_order_item_id,a.nums,c.by_attributes_id,c.attributes_name,d.by_attribute_values_id,d.value_str
    from by_order_item a
    join by_sku_items b on a.by_sku_items_id=b.by_sku_items_id
    join by_attributes c on b.by_attributes_id=c.by_attributes_id
    join by_attribute_values d on b.by_attribute_values_id=d.by_attribute_values_id
    where b.status=2 and c.status=2 and d.status=2 
    and a.order_id=1459428164000004 and a.by_product_id=9
    ) bb
    ) t 
    ) t1 group by by_sku_items_id,by_attributes_id,by_attribute_values_id,attributes_name,value_str

    展开全文
  • //使用Linq根据集合中ProductNo合并相同的Tag List<Product> Result = new List(); var group = MemberList.GroupBy(p => p.ProductNo); foreach (IGrouping, Product> groupSequence in group) { Product m = ...
     List<Product> List = new List<Product> {
    
                        new Product{StockNum=1,ProductNo="01",Tag="a"},
                        new Product{StockNum=2,ProductNo="01",Tag="b"},
                        new Product{StockNum=3,ProductNo="02",Tag="c"},
                        new Product{StockNum=4,ProductNo="02",Tag="d"},
                        new Product{StockNum=5,ProductNo="03",Tag="e"},      
    };
    
    //使用Linq根据集合中ProductNo合并相同的Tag
    
    List<Product> Result = new List<Product>();
    
    var group = MemberList.GroupBy(p => p.ProductNo);
    
    foreach (IGrouping<string, Product> groupSequence in group)
                    {
                        Product m = new Product()
                        {
                            //将相同ProductNo的Tag内容合并
                            ProductNo= groupSequence.First().ProductNo,
                            
                            Tag= string.Join(",", groupSequence.Select(t =>                 
                            t.Tag).ToArray())
                           
                        };
                        Result.Add(m);
                    }
    
    //数据集返回前50条数据
     Result = Result.Take(50).ToList<Product>();
        /// <summary>
        /// 产品实体类
        /// </summary>
        public class Product
        {
            /// <summary>
            /// 库存
            /// </summary>
            public int StockNum { set; get; }
             
            /// <summary>
            /// 产品编号
            /// </summary>
            public String ProductNo { set; get; }
             
            /// <summary>
            /// 附属标签
            /// </summary>
            public String Tag { set; get; }
        }

     

    展开全文
  • { List LINQ 查询集合总的重复项 select new FMDS_FarmPlotNewInfo { FarmPlo ... el-table分页展示数据 Java Web中将oracle的数据库内容以表格形式展现到页面中(分页展示) 分页SQL语句: ----分页显示 select * ...
  • 主要介绍了用Linq从一个集合选取几列得到一个新的集合(可改列名),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
  • C#中的LINQ

    千次阅读 2021-10-04 16:44:13
    一:什么是LINQ 二:用法 ——where:查询特定条件 using System; using System.Collections.Generic; using System.Linq; class MainClass { static List<Person> personList = new List<Person>...
  • 今天写代码时,需要对一个数组对象中按一定规则合并、去重处理,不想再毫无新意手动写For循环遍历(天天写一样的代码很没劲),于是依旧linq,发现真心方便: using System; using System.Collections.Generic; ...
  • Linq 集合处理(Union)

    万次阅读 2012-12-15 16:21:11
    关于Union的两种情况 ...一、简单值类型或者string类型处理方式(集合需要实现IEnumerable接口) #region int类型 List ints1 = new List { 1, 2, 3, 4, 5, 6 }; List ints2 = new List { 5, 6, 7, 8, 9, 0 };
  • var ds2 = from a in ds.Tables[0].AsEnumerable() from b in ds1.Tables[0].AsEnumerable() where a.Field<string>("KHID") == b.Field<string>("KHID") select new { KHID = a.Field<...
  • Linq to Sql 合并数据

    2016-03-18 15:09:46
    一张表的Insert,Upadate,Delete 如何用Linq To Sql 简洁的完成 两种方法 1.使用临时表,先将数据插入到临时表中,再Merge到源表 An ORM is the wrong tool for performing batch operations, and Linq-to-SQL...
  • 使用Exists 或者any 在一个集合中调用另一个集合去看,对比的要点就是集合之间都有的字段也就是要查找重复数据的体现。 举例:俩个集合 list1 list2 俩个集合要找重复的数据 也就是 A B俩个字段是否有重复的数据 ...
  • //两个数据源的并集集合 DataTable dt = query.CopyToDataTable();   第二种方法 DataTable dt1 = new DataTable(); DataTable frm = new DataTable(); foreach (DataRow dr in dt1.Rows) {  frm....
  • 集合,Linq-C#

    2020-05-25 15:27:00
    在讲集合之前,先来看看他的表亲 数组 int[] a = new int[10]; 通过这样的语句,我们声明了一个int数组,长度为10. 但是数组有个问题.如果这个数组未来根据业务需要要改变长度,添加新的数据进去,那么这个数组根本不...
  • linq只支持左连接,如要右连接,将query和query1调换位置 集合操作 可以使用扩展方法Intersect、Union、Distinct、Except等 如:查询同时拥有法拉利和迈凯伦获得冠军的车手。 //得到所有冠军...
  • (给DotNet加星标,提升.Net技能)转自:天空的湛蓝cnblogs....一旦掌握了LINQ,你就会发现在开发中再也离不开它。前言C#中的集合表现为数组和若干集合类。不管是数组还是集合类,它们都有各自的...
  • LINQ(Language Integrated Query,语言集成查询)提供了类似于SQL的语法,能对集合进行遍历、筛选和投影。一旦掌握了LINQ,你就会发现在开发中再也离不开它。  开始!前言  C#中的集合表现为数组和若干集合类。...
  • 中,将model.name相同的model.value合并 1、一个List<对象>中,将model.name相同的model.value合并 如上所示,将list中name相同的value合并为一行数据。 List<FormData> Result = new List<...
  • 我是将这两个表都放进各自的泛型集合里,但是就变成两个类型了,如何将这两个表合并成一个表呢?或者用linq的话怎么写呢,这两表之间没什么关联,单纯只是想合并成一个表而已?求教~~~ (只是想在查询时,将这两个...
  • LINQ的Union方法

    2016-04-10 14:56:00
    2个集合合并,有相同的只取中其一个: source code: int[] a = { 3, 5, 7 }; int[] b = { 5, 6, 9 }; var result = a.Union(b); result.ForEach(delegate (int n) ...
  • 主要介绍了C#中使用Lambda表达式自定义比较器实现两个列表的合并实例,本文给出示例代码和运行效果,需要的朋友可以参考下
  • :high_voltage: 提供可重用的Queryable变量,并使用谓词集合进行延迟执行。 :hammer: 包含大多数原始的.NET方法和一些其他方法。 :hammer: 支持Promise作为输入源。 :person_gesturing_NO: 所有APIs都是...
  • C#合并两个(多个)集合

    千次阅读 2018-03-28 14:25:08
    合并两个集合使用语言:C#环境:.net core 2.0 (当前使用) (支持 .net 所有环境,我就不多说了)核心代码: List&lt;int&gt; listMerge1 = list1.Union(list2).ToList();//不允许有重复项 //listMerge1:...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,865
精华内容 1,546
关键字:

linq合并集合