zoukankan      html  css  js  c++  java
  • c# List根据某个属性进行分类,变成以属性名称作为分类的多个List

    在平时的开发中,我们从数据库中得到List列表,但是我们希望可以根据属性名称再次进行分类。

    其实LINQ中已经内置相应的算法。

    长话短说,直接上代码:

    var dataList = JsonHelper.DeserializeJsonToList<BaseSubGameTaxGrowthTrend>(JsonHelper.SerializeObject(dataTable));

    dataList.GroupBy(x => x.KindName).Select(x => new SubGameTaxGrowthTrend { KindName = x.Key,ListData = x.ToList() }).ToList();

    其中,BaseSubGameTaxGrowthTrend类如下:

    public class BaseSubGameTaxGrowthTrend
    {
    public string KindName { set; get; }
    public double Revenue { set; get; }
    public DateTime ConcludeTime { set; get; }
    }

    SubGameTaxGrowthTrend 类就是我们最后想要得到的效果类。

    public class SubGameTaxGrowthTrend
    {
    public string KindName { set; get; }
    public List<BaseSubGameTaxGrowthTrend> ListData { get; set; }
    }

    补充:有时候我们在得到数据后,只想筛选除不一样的属性字段。例如只想筛选出所有不一样的时间。

    var dataList = JsonHelper.DeserializeJsonToList<BaseSubGameTaxGrowthTrend>(JsonHelper.SerializeObject(dataTable));
    var timeList = dataList.Where((x, i) => dataList.FindIndex(z => z.ConcludeTime == x.ConcludeTime) == i).ToList();

  • 相关阅读:
    二叉排序树的建立_查找_插入_删除
    java学习书籍推荐
    Java之路——敬JAVA初学者(作者:MoMo)
    结构体的定义及应用
    java获取缓存通用类
    金额转换为自定义字符串
    WebApi接入Swagger
    webApi的控制台服务
    自动生成缓存Key值的CacheKeyHelper
    DictionaryHelper2
  • 原文地址:https://www.cnblogs.com/wanchenggui/p/10635369.html
Copyright © 2011-2022 走看看