C# Linq中ToLookup的作用&&ToDictionary跟ToLookup的区别

  • C# Linq中ToLookup的作用&&ToDictionary跟ToLookup的区别# Linq中Select跟SelectMany的区别


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; }
}
  • 结果
    在这里插入图片描述
    在这里插入图片描述
发布了190 篇原创文章 · 获赞 298 · 访问量 48万+

猜你喜欢

转载自blog.csdn.net/qq_34202873/article/details/103994143