Linq中 的 ToLookup 和 GroupBy 进行分组

news/2024/6/19 6:12:34 标签: 1024程序员节

ToDictionary 和ToLookUp 都是通过 key 来找到相应的键值,
ToDictionary 转换成是键值对 关系是一一对应的关系【key值是唯一的不能重复】。
ToLookUp:ToLookUp类似于Dictionary<string,List>【key值可重复】

public void LookUpAndDic()
{
    var initList = new List<LookUpModel>()
    {
        new LookUpModel(1,"男","小陈"),
        new LookUpModel(1,"男","小陈爸爸"),
        new LookUpModel(2,"女","小刘"),
        new LookUpModel(2,"女","小刘妈妈"),
        new LookUpModel(3,"男","小明"),
    };

    var lookTest1 = initList.ToLookup(x => x.Index);//以Index为分组
    var lookTest2 = initList.ToLookup(x => x.Index, x => x.Sex + x.Name);//以Index为分组,Sex+Name为值

    var dicTest1 = initList.ToDictionary(x => x.Name);//以Name为分组
    var dicTest2 = initList.ToDictionary(x => x.Name, x => x.Sex);//以Name为分组,Sex为值
}


public class LookUpModel
{
    public LookUpModel(int index, string sex, string name)
    {
        Index = index;
        Sex = sex;
        Name = name;
    }

    public int Index { get; set; }

    public string Sex { get; set; }

    public string Name { get; set; }
}

我的公众号

在这里插入图片描述


http://www.niftyadmin.cn/n/1618557.html

相关文章

学会python的基础操作_基础操作命令

DOCKER使用指南 Auth: 王海飞 Data&#xff1a;2018-03-20 Email&#xff1a;779598160qq.com github&#xff1a;https://github.com/coco369/knowledge 前言&#xff1a; 什么是docker 引用百度搜索结果&#xff1a;Docker 是一个开源的应用容器引擎&#xff0c;让开发者可以…

[Net分享] 写个中间件来记录接口耗时

写接口的难免会遇到别人说接口比较慢&#xff0c;到底慢多少&#xff0c;一个接口服务器处理究竟花了多长时间&#xff0c;如果能有具体的数字来记录每个接口耗时多少&#xff0c;别人再说接口慢的时候看一下接口耗时统计&#xff0c;如果几毫秒就处理完了&#xff0c;对不起这…

python迭代器与生成器_云计算开发学习笔记:Python3迭代器与生成器

迭代器 迭代是Python最强大的功能之一&#xff0c;是访问集合元素的一种方式。 迭代器是一个可以记住遍历的位置的对象。 迭代器对象从集合的第一个元素开始访问&#xff0c;直到所有的元素被访问完结束。迭代器只能往前不会后退。 迭代器有两个基本的方法&#xff1a;iter() 和…

C# JArray与JObject 的使用

首先引用命名空间using Newtonsoft.Json.Linq 如何获取json里的某个属性&#xff08;节点&#xff09;值&#xff0c;对其删改&#xff0c;新增 //2.1 数组用JArray加载string jsonText "[{a:aaa,b:bbb,c:ccc},{a:aa,b:bb,c:cc}]"; var mJObj JArray.Parse(jsonT…

谈谈你对计算思维和python生态的理解_对计算思维的认识

对计算思维的认识 经管法 王禹 1211652 计算思维又叫构造思维&#xff0c;以设计和构造为特征&#xff0c;以计算机学科为代表的。它 &#xff08; Computational Thinking &#xff0c; CT &#xff09; 是运用计算机科学的基础概念去求解问题、 设计系统和理解人类行为。 CT …

限流中间件IpRateLimitMiddleware的使用

前言 IpRateLimitMiddleware&#xff08;Github: AspNetCoreRateLimit&#xff09; 是ASPNETCore的一个限流的中间件&#xff0c;用于控制客户端调用API的频次&#xff0c; 如果客户端频繁访问服务器&#xff0c;可以限制它的频率&#xff0c;已降低访问服务器端的压力。或者如…

eclipse查看源码_查看JAVA API以及JAVA源码的方法

前言&#xff1a;在java的日常学习中&#xff0c;我们有时候会需要看java的api说明&#xff0c;或者是查看java的源码&#xff0c;使我们更好的了解java&#xff0c;接下来我就来说说如何查看java的api以及java源码对于java的api&#xff0c;一般是在下面的网址中进行查看Java …

C#实现控制台显示动态进度条百分比

C#实现控制台显示动态进度条 前言 private static void Main(string[] args){bool isBreak false;ConsoleColor colorBack Console.BackgroundColor;ConsoleColor colorFore Console.ForegroundColor;//第一行信息Console.WriteLine("****** now working...******&quo…