首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏全栈文档库

    C#进阶-LINQ表达式之GroupBy分组查询

    数据源: ① 单属性分组查询全部信息 这里我们举一个最简单的例子,根据职业分组,获得每组的集合: /* C#版本1 */ IEnumerable<IGrouping<string, User>> UserGroupByOccupation = list.GroupBy(s => s.occupation); /* C#版本2 */ IEnumerable<IGrouping<string, User>> UserGroupByOccupation u.occupation into n select n; /* C#版本3 */ //这里的版本3是版本2的衍生版本,用自定义对象类ListGroupResult替代 IGrouping UserList = n.ToList() }; 根据Occupation分为四组: /* 遍历 输出 */ /*适用于C#版本1 和2*/ foreach(IGrouping

    2.9K21编辑于 2024-02-03
  • 来自专栏SpringBoot教程

    LINQ常用扩展方法、委托、Lambda、yield

    集合中所有年龄的和 int sum = list.Sum(e => e.Age); //集合个数 int count = list.Count(); 分组 GroupBy()方法参数是分组条件表达式,返回值为IGrouping <TKey, TSource>类型的泛型IEnumerable,也就是每一组以一个IGrouping对象的形式返回。 IGrouping是一个继承自IEnumerable的接口,IGrouping中Key属性表示这一组的分组数据的值。 IEnumerable<IGrouping<int, Employee>> g = list.GroupBy(x => x.Age); foreach (IGrouping<int, Employee>

    47210编辑于 2024-03-23
  • 来自专栏全栈文档库

    C#进阶-LINQ表达式之GroupBy分组查询

    }};2、数据库准备SQL数据源:二、LINQ的GroupBy语法示例1、单属性分组查询全部信息这里我们举一个最简单的例子,根据职业分组,获得每组的集合:/* C#版本1 */IEnumerable<IGrouping <string, User>> UserGroupByOccupation = list.GroupBy(s => s.occupation);/* C#版本2 */IEnumerable<IGrouping u.occupation into n select n;/* C#版本3 *///这里的版本3是版本2的衍生版本,用自定义对象类ListGroupResult替代 IGrouping UserList = n.ToList() };根据Occupation分为四组:/* 遍历 输出 *//*适用于C#版本1 和2*/foreach(IGrouping

    2.1K1312编辑于 2024-04-30
  • 来自专栏.NET企业级解决方案应用与咨询

    C#3.0新增功能09 LINQ 基础04 基本 LINQ 查询操作

    // queryCustomersByCity 是 IEnumerable<IGrouping<string, Customer>> 类型 var queryCustomersByCity = from cust in customers group cust by cust.City; // customerGroup 是 IGrouping<string, Customer 下列查询仅返回包含两个以上客户的组: // custQuery 是 IEnumerable<IGrouping<string, Customer>> 类型 var custQuery = from

    4.6K20发布于 2019-09-17
  • 来自专栏hbbliyong

    LINQ分页和排序,skip和Take 用法

    "b4", "c4"); dt.Rows.Add("a1", "b5", "c5"); dt.Rows.Add("a2", "b6", "c6"); IEnumerable<IGrouping result = dt.Rows.Cast<DataRow>().GroupBy<DataRow, string>(dr => dr["A"].ToString());//按A分组 foreach (IGrouping

    2.4K90发布于 2018-03-05
  • 来自专栏WPF

    了解C#的协变和逆变

    为了支持更广泛的隐式类型的转换,在这里就是在泛型体系中支持 在C#中,目前只有泛型接口和泛型委托可以支持协变和逆变, 协变(Covariance) 内置的泛型协变接口,IEnumerator<T>、IQuerable<T>、IGrouping interface IQueryable<out T> : IEnumerable<T>, IEnumerable, IQueryable { } public interface IGrouping

    1.3K10编辑于 2022-05-07
  • 来自专栏C# 编程

    [C#] LINQ之GroupBy

    Name = "P2", Age = 17,Gender = "Female", } }; 二、第一种用法: public static IEnumerable<IGrouping 三、第二种用法: public static IEnumerable<IGrouping<TKey, TSource>> GroupBy<TSource, TKey>(this IEnumerable< 四、第三种用法: public static IEnumerable<IGrouping<TKey, TElement>> GroupBy<TSource, TKey, TElement>(this IEnumerable 这个跟之前的用法都不同,之前的用法都是将结果进行分组,并返回IGrouping<TKey,TSource>对象,而当前用法则是返回自己定义的类型(TResult),在返回自己定义类型之前,将会传入两个参数 select GetPersonInfo(pGroup.Key, pGroup); 六、第五种用法: public static IEnumerable<IGrouping

    2.4K30发布于 2019-05-24
  • 来自专栏EdisonTalk

    .NET中那些所谓的新语法之四:标准查询运算符与LINQ

    SQOGroupByDemo() { List<Person> personList = GetPersonList(); IEnumerable<IGrouping <bool, Person>> groups = personList.GroupBy(p => p.Gender); IList<IGrouping <bool, Person>> groupList = groups.ToList(); foreach (IGrouping<bool, Person> group in groupList p.ToString()); } } }   (1)这里需要注意的是:通过GroupBy方法后返回的是一个IEnumerable<IGrouping

    3.1K30发布于 2018-08-20
  • 来自专栏.NET企业级解决方案应用与咨询

    C#3.0新增功能03 隐式类型本地变量

    在下面的查询中,查询变量的类型是 IEnumerable<IGrouping<string, Student>>。 // 查询变量是IEnumerable<igrouping<string,student>> var studentQuery3 = from student in students group

    1K20发布于 2019-09-17
  • 来自专栏C# 编程

    [C#] LINQ之LookUp

    因为lookups返回的类型为ILookUp<TKey,TSource>(实际继承于IEnumerable<IGrouping<TKey,TSource>>),因此以上返回的类型为ILookUp<string

    2.2K30发布于 2019-05-24
  • 来自专栏DotNet NB && CloudNative

    MessagePack for C# (.NET Framework, .NET 8, Unity, Xamarin)

    IReadOnlyCollection<>, IReadOnlyList<> • Dictionary<,>, IDictionary<,>, SortedDictionary<,>, ILookup<,>, IGrouping

    40310编辑于 2025-08-06
  • 来自专栏.net core新时代

    List,DataTable实现行转列的通用方案

    //获取所有动态列 var columnGroup = list.GroupBy(DynamicColumn, "new(it as Vm)") as IEnumerable<IGrouping list.GroupBy(string.Format("new ({0})", string.Join(",", DimensionList)), "new(it as Vm)") as IEnumerable<IGrouping

    2.5K70发布于 2018-01-05
  • 来自专栏.NET企业级解决方案应用与咨询

    C#3.0新增功能07 查询表达式

    // 该查询返回的类型是 IEnumerable<IGrouping<int, Country>> var percentileQuery = from country in countries countryGroup where countryGroup.Key >= 20 orderby countryGroup.Key select countryGroup; // 分组是 IGrouping

    2.9K10发布于 2019-09-17
  • 来自专栏逸鹏说道

    weiapi2.2 HelpPage自动生成接口说明文档和接口测试功能

    { @Html.DisplayFor(m => group, "ApiGroup") }

    @model IGrouping

    82170发布于 2018-04-09
  • 来自专栏0x7c00的专栏

    LinQ 查询表达式

    // percentileQuery is an IEnumerable<IGrouping<int, Country>> var percentileQuery = from country

    2.9K20发布于 2021-11-01
  • 来自专栏.NET企业级解决方案应用与咨询

    C#4.0新增功能03 泛型中的协变和逆变

    具有协变类型参数的泛型接口 从 .NET Framework 4 开始,某些泛型接口具有协变类型参数;例如:IEnumerable<T>、IEnumerator<T>、IQueryable<T> 和 IGrouping IComparable<T> 是 Predicate<T> 是 IComparer<T> 是 IEnumerable<T> 是 IEnumerator<T> 是 IEqualityComparer<T> 是 IGrouping

    1.8K20发布于 2019-09-17
  • 来自专栏hbbliyong

    LINQ查询操作符 LINQ学习第二篇

    Console.WriteLine("----------------------------------------------");     } } 执行GroupBy得到的序列中包含的元素类型为IGrouping , T>,其Key属性代表了分组时使用的关键值,遍历IGrouping<TKey?, T>元素可以读取到每一个T类型。在此示例中,对应的元素类型为IGrouping<int?

    3.9K50发布于 2018-03-05
  • 来自专栏DotNet NB && CloudNative

    谈谈我对C#协变和逆变的理解

    中支持协变逆变的一些常用的接口和委托 C#中的协变接口和逆变接口 1、IEnumerable<T>(T 是协变) 2、IEnumerator<T>(T 是协变) 3、IQueryable<T>(T 是协变) 4、IGrouping

    53400编辑于 2025-05-23
  • 来自专栏飞扬的花生

    LINQ驱动数据的查询功能

    > groupList = new List<int>() { 1, 2, 3, 3, 2, 1, 6, 8, 34, 100, 3, 2, 5 }; IEnumerable<IGrouping

    3.9K90发布于 2018-01-18
  • 来自专栏不做码农的开发者

    C# 基础知识系列-7 Linq详解

    Group 分组,依照指定内容进行分组 Group的方法声明有很多种: 最常用的一种是: public static IEnumerable<System.Linq.IGrouping<TKey,TSource TSource,TKey> (this IEnumerable<TSource> source, Func<TSource,TKey> keySelector); 示例: //将学生按照班级进行分组 List<IGrouping

    2.8K50发布于 2020-04-29
  • 领券