集合中取出列名相同的,并把其他列的值合并成数组
来源:互联网 发布:炫酷团队网站源码 编辑:程序博客网 时间:2024/04/29 10:09
需求:有这样一个集合 List<User> lst = new List<User>{
new User{ name="zhangsan",YFYE=2.1D,XFSJ=4.2D },
new User{ name="zhangsan",YFYE=2.2D,XFSJ=4.3D },
new User{ name="zhangsan",YFYE=2.3D,XFSJ=4.4D },
new User{ name="lisi",YFYE=2.2D,XFSJ=4.3D },
new User{ name="lisi",YFYE=2.3D,XFSJ=4.4D },
new User{ name="lisi",YFYE=2.4D,XFSJ=4.5D },
new User{ name="lisi",YFYE=2.5D,XFSJ=4.6D }
};
把name相同的数据的YFYE的字段拼成一个数组。然后转成Json
例如:{“name”:”zhangsan”,”datas”:[2.1,2.2,2.3]}
代码如下:
public static void Test() { List<User> lst = new List<User>{ new User{ name="zhangsan",YFYE=2.1D,XFSJ=4.2D }, new User{ name="zhangsan",YFYE=2.2D,XFSJ=4.3D }, new User{ name="zhangsan",YFYE=2.3D,XFSJ=4.4D }, new User{ name="lisi",YFYE=2.2D,XFSJ=4.3D }, new User{ name="lisi",YFYE=2.3D,XFSJ=4.4D }, new User{ name="lisi",YFYE=2.4D,XFSJ=4.5D }, new User{ name="lisi",YFYE=2.5D,XFSJ=4.6D } }; List<NewModel> lstNewModel = new List<NewModel>(); //这里可能有简单的方法,我没研究过 List<User> lstFirst = null; //取出name种类 var query = from newlist in lst group newlist by newlist.name into g select g; //分组的数量 var iCount = query.Count(); foreach (var item in query) { lstFirst = new List<User>(); //每个集合的长度 for (int i = 0; i < lst.Count; i++) if (lst[i].name == item.Key) lstFirst.Add(lst[i]); NewModel model = new NewModel(); model.name = item.Key; //把得到的全部放到数组中 var data=new double[lstFirst.Count]; for (int i = 0; i < lstFirst.Count; i++) { data[i] = lstFirst[i].YFYE; } model.datas = data; //当前数据已获取 lstNewModel.Add(model); } JavaScriptSerializer serializer = new JavaScriptSerializer(); Console.WriteLine(serializer.Serialize(lstNewModel)); }
测试结果如下:
欢迎加入技术交流群(169767436)这里有各种大神共同帮你解决问题。
- 集合中取出列名相同的,并把其他列的值合并成数组
- sqlserver合并“id值相同”的列
- JS 控制相同列的值合并
- table相同的列合并
- SQLServer中 如何取出一个表的所有列名
- SQLServer中如何取出一个表的所有列名
- SQLServer中 如何取出一个表的所有列名
- asp.net中gridview数据相同行的列合并
- Gridview中合并相同的行或列
- C#(合并GridView列中相同的行)
- Gridview合并列中相同信息行的方法
- table表格合并第一列中相同的内容!
- PB中dw合并相同内容的列
- table表格合并第一列中相同的内容!
- GridView中2列表头合并,同列相同值的表格合并
- asp.net中DataSet对象获取相应列值、行列数、列名、取出特定值这些操作的总结
- 合并相同列的数据(引用)
- awk 合并相同列的行
- 全志A20平台增加USB挂载点
- Andriod电子词典查询功能的实现
- runOnUiThread
- android笔记——点击按钮放大
- 2012年5月SAT香港真题解析
- 集合中取出列名相同的,并把其他列的值合并成数组
- 收藏网站8
- @Scope("prototype")
- unity profiler and optimize and compress android Package
- linux shell 脚本自动从配置远程ftp服务上下载更新文件
- 深入Java核心 Java内存分配原理精讲
- StringBuffer的妙用
- LeetCodeOJ_171_Excel Sheet Column Number
- 关于Object-C 底层实现self isa 的理解