使用Linq方法进行功能实现
假定有下表数据(图1):

需要获取类似以下结构的数据集(图2):

功能代码:
public object getData(){
//dataList :获取数据集合(图1数据)
var dataList = getDataList();//getDataList:自定义的获取数据方法
//获取分组数据集合,分组并对集合进行排序,等同于执行SQL:
//select [value] from test_1 GROUP BY [value] ORDER BY cast([value] as int)(图3数据)
var temp = dataList.GroupBy(a => a.value).Select(a => a.Key).OrderBy(a => Convert.ToInt32(a)).ToList();
//示例将数据格式化为Dictionary
Dictionary<string, string> keyValuePairs = new Dictionary<string, string>();
temp.ForEach(a => {
//循环遍历分组数据集合,并计算最终获取的目标数据(图2数据)
keyValuePairs.Add(a, dataList.Where(data => data.value == a).Count().ToString());
});
return keyValuePairs;
}
图3:

keyValuePairs的值为:

该文章介绍了一个使用Linq方法处理数据的例子,通过对数据列表进行分组(GroupBy)和排序(OrderBy),然后转换成Dictionary,展示了如何统计每个分组的元素数量。代码中,先获取原始数据,接着对[value]列进行分组并按其数值排序,最后将结果转化为键值对形式存储。
507

被折叠的 条评论
为什么被折叠?



