相关文章推荐
愉快的墨镜
·
java csv转换为excel ...
·
2 月前
·
俊秀的灌汤包
·
python - ImportError: ...
·
11 月前
·
很酷的登山鞋
·
r语言坐标轴字体大小-掘金
·
1 年前
·
憨厚的圣诞树
·
Python 提速大杀器之 numba 篇 ...
·
1 年前
·
Code
›
c# Linq及Lamda表达式应用经验之 GroupBy 分组 - hg一如既往
linq
lamda
https://www.cnblogs.com/han1982/p/4138163.html
很拉风的烈酒
1 年前
List
persons1 =
new
List<Person>
();
private
void
Form1_Load(
object
sender, EventArgs e) initForm();
private
void
initForm() {
//
窗体初始化
persons1.Add(
new
Person(
"
张三
"
,
"
男
"
,
20
,
1500
)); persons1.Add(
new
Person(
"
王成
"
,
"
男
"
,
32
,
3200
)); persons1.Add(
new
Person(
"
李丽
"
,
"
女
"
,
19
,
1700
)); persons1.Add(
new
Person(
"
何英
"
,
"
女
"
,
35
,
3600
)); persons1.Add(
new
Person(
"
何英
"
,
"
女
"
,
18
,
1600
)); dataGridView1.DataSource
=
persons1;
private
void
button1_Click(
object
sender, EventArgs e)
//
******* 对集合按Name属于进行分组GroupBy查询 ********
//
结果中包括的字段:
//
1、分组的关键字:Name = g.Key
//
2、每个分组的数量:count = g.Count()
//
3、每个分组的年龄总和:ageC = g.Sum(item => item.Age)
//
4、每个分组的收入总和:moneyC = g.Sum(item => item.Money)
//
写法1:lamda 表达式写法(推荐)
var
ls = persons1.GroupBy(a => a.Name).Select(g => (
new
{ name = g.Key, count = g.Count(), ageC = g.Sum(item => item.Age), moneyC = g.Sum(item =>
item.Money) }));
//
写法2:类SQL语言写法 最终编译器会把它转化为lamda表达式
var
ls2 =
from
ps
in
persons1 group ps by ps.Name into g
select
new
{ name = g.Key, count = g.Count(), ageC = g.Sum(item => item.Age), moneyC = g.Sum(item =>
item.Money) }; dataGridView1.DataSource
=
ls.ToList();
//
dataGridView1.DataSource = ls2.ToList();
///
<summary>
///
手动设计一个Person类。用于放到List泛型中
///
</summary>
public
class
Person
public
string
Name {
get
;
set
; }
public
int
Age {
get
;
private
set
; }
public
string
Sex {
get
;
set
; }
public
int
Money {
get
;
set
; }
public
Person(
string
name,
string
sex,
int
age,
int
money) Name
=
name; Age
=
age; Sex
=
sex; Money
=
money;
推荐文章
愉快的墨镜
·
java csv转换为excel 类型不对_mob649e81630984的技术博客_51CTO博客
2 月前
俊秀的灌汤包
·
python - ImportError: cannot import name ExponentialSmoothing - Stack Overflow
11 月前
很酷的登山鞋
·
r语言坐标轴字体大小-掘金
1 年前
憨厚的圣诞树
·
Python 提速大杀器之 numba 篇 - 知乎
1 年前