使用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的值为: