【小5聊】C#基础只是之List泛型GroupBy简单使用

【知识点】

GroupBy为Linq命名空间下的方法

【定义实体类】

public class MyModel
{
    public string code { get; set; }
    public string name { get; set; }
}

public class MyGroupModel
{
    public string code { get; set; }
    public List<MyModel> list { get; set; }
}

【代码编写】

List<MyModel> _list = new List<MyModel>();
_list.Add(new MyModel() { name = "后端编程语言-C#", code = "001" });
_list.Add(new MyModel() { name = "后端编程语言-Java", code = "001" });
_list.Add(new MyModel() { name = "前端编程语言-Javascript", code = "002" });
_list.Add(new MyModel() { name = "前端编程语言-Php", code = "002" });
_list.Add(new MyModel() { name = "后端编程语言-python", code = "001" });

//直接使用var关键词获得分组后的对象
var groupListVar = _list.GroupBy(a => a.code);
foreach (var item in groupListVar)
{
    var key = item.Key; //Key=code的值
    var list = item.ToList(); //就是List<MyModel>
}

//通过自定义实体类获得分组后的对象
List<MyGroupModel> groupModel = _list.GroupBy(a => a.code).Select(b => new MyGroupModel() { code = b.Key, list = b.ToList() }).ToList();

猜你喜欢

转载自blog.csdn.net/lmy_520/article/details/112555814