C# LINQ 基础 互动版

在线工具推荐: Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编辑 - 3D模型格式在线转换 - 可编程3D场景编辑器

group

group子句将数据源中的数据进行分组,示例代码如下:

var str = from p in PersonList group p by p.age
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace linq
{
    class student  //定义数据源
    {
       public string name { get; set; }
       public int age { get; set; }
       public int sex { get; set; }
    }

    class Program
    {
        static void Main(string[] args)
        {
            var items = new List&ltstudent&gt(); // 要查询的数据源
            items.AddRange(new student[]
            { new student{name="Tom",age=20,sex=1},
              new student{name="Jim",age=23,sex=1},
              new student{name="John",age=24,sex=1},
              new student{name="Marry",age=22,sex=0},
              new student{name="Lucy",age=21,sex=0}
            });

            //按 sex 字段进行分组
            var data = from a in items  group a by a.sex ; 
            foreach (var ss in data)
            {
                Console.WriteLine(ss.Key); // 输出分组关键字
                foreach (var s in ss)
                {
                    Console.WriteLine(s.name); // 输出分组的各项内容
                }
            }
        }
    }
}