在C#中,LINQ(Language Integrated Query)是一种强大的数据查询语言,它允许你以声明式的方式查询和操作数据。LINQ可以用于各种数据源,包括数组、集合、XML文档和数据库。分组是LINQ中的一个常用操作,它允许你根据某个或某些属性将数据集合中的元素分组。
操作 | 描述 | C#查询表达式语法 |
---|---|---|
GroupBy | 组织项目的顺序组,并将其返回IEnumerable类型的集合IGrouping<key, element> | group … by -or- group … by … into … |
一个例子
C#class Hero
{
public int HeroNo { get; set; }
public string Name { get; set; }
public string Country { get; set; }
public int Age { get; set; }
public Hero(string name, int age, int heroNo, string country)
{
Name = name;
Age = age;
HeroNo = heroNo;
Country = country;
}
}
调用
查询表达式语法类似于SQL语句,非常直观。下面是一个使用查询表达式进行分组的例
C#private void btnSearch_Click(object sender, EventArgs e)
{
List<Hero> heroes = new List<Hero>
{
new Hero("张飞",38,100,"蜀"),
new Hero("刘备",40,101,"蜀"),
new Hero("关羽",39,102,"蜀"),
new Hero("曹操",45,103,"魏"),
new Hero("孙权",31,104,"吴"),
new Hero("黄忠",45,105,"蜀"),
new Hero("夏侯惇",45,106,"魏")
};
var ret = from hero in heroes
group hero by hero.Country into g
select new
{
country = g.Key,
qty = g.Count()
};
foreach (var item in ret)
{
lstMain.Items.Add(item.country+" "+item.qty);
}
}
LINQ的分组操作非常灵活,你可以根据需要使用不同的键进行分组,甚至可以使用复合键进行分组。掌握分组操作可以帮助你更有效地处理和分析数据。
本文作者:技术老小子
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!