C# 中的 LINQ 分组
本教程将讨论在 C# 中按值对对象列表进行分组的方法。
C# 中的 LINQ 分组
LINQ 将类似 SQL 的查询功能与 C# 中的数据结构集成在一起。
假设我们有以下类别的对象的列表。
class Car {
public string Brand { get; set; }
public int Model { get; set; }
}
Brand
是汽车的品牌名称,Model
是汽车的型号。多个对象的 Brand
属性可以相同,但是每个对象的 Model
编号必须不同。如果要按品牌名称对对象列表进行分组,可以在 LINQ 中使用 GroupBy
方法。以下代码示例向我们展示了如何使用 LINQ 中的 GroupBy
方法按某个值对特定类的对象进行分组。
using System;
using System.Collections.Generic;
using System.Linq;
namespace linq_goup_by {
public class Car {
public string Brand { get; set; }
public int Model { get; set; }
public Car(string b, int m) {
Brand = b;
Model = m;
}
}
class Program {
static void Main(string[] args) {
List<Car> cars = new List<Car>();
cars.Add(new Car("Brand 1", 11));
cars.Add(new Car("Brand 1", 22));
cars.Add(new Car("Brand 2", 12));
cars.Add(new Car("Brand 2", 21));
var results = from c in cars group c by c.Brand;
foreach (var r in results) {
Console.WriteLine(r.Key);
foreach (Car c in r) {
Console.WriteLine(c.Model);
}
}
}
}
}
输出:
Brand 1
11
22
Brand 2
12
21
在上面的代码中,我们首先声明并初始化了对象 cars
的列表,然后通过 Brand
属性对值进行分组并将其保存在 result
变量中。
相关文章
使用 C# 在 LINQ 查询中按多列分组
发布时间:2024/01/20 浏览次数:167 分类:编程语言
-
这是一篇关于 LINQ 查询的使用以及我们如何使用 LINQ 查询按列分组的文章。本文简要介绍了使用 C# 进行的 LINQ 查询。此外,它还讨论了如何使用 LINQ 查询按多列对结果进行分组。
在 C# 中捕获多个异常
发布时间:2024/01/20 浏览次数:135 分类:编程语言
-
有两种主要方法可用于捕获 C# 中的多个异常,即 Exception 类和 catch 子句中的 if 语句。使用 C# 中的 Exception 类捕获多个异常 Exception 类用于表示 C# 中的一般异常。
C# 中为无效参数或参数引发的异常类型
发布时间:2024/01/20 浏览次数:71 分类:编程语言
-
本教程将教你如何在 C# 中为无效参数或参数抛出不同类型的异常。异常提供有关 C# 程序中的运行时错误或预期不会发生或违反系统/应用程序约束的条件的信息。在本教程中,你将学习与无效参
C# 中的树形数据结构
发布时间:2024/01/20 浏览次数:73 分类:编程语言
-
C# 中的树是本文讨论的主题。一种以树的形式组织起来的层次数据称为树数据结构。C# 中的树将是本文讨论的主题。数据结构是我们需要知道的第一件事。
C# 中的 lock 语句
发布时间:2024/01/20 浏览次数:166 分类:编程语言
-
C# 中 lock 语句指定的代码部分不能被多个线程同时访问。C# 中的 lock 语句 lock(obj) 语句规定,在 C# 中,下面这段代码不能被多个线程同时访问。
等待线程在 C# 中完成
发布时间:2024/01/20 浏览次数:70 分类:编程语言
-
等待 C# 中的线程完成的主要方法有两种:Task.WaitAll()和 Thread.Join()函数。用 C# 中的 Task.WaitAll() 方法等待线程完成 C# 中的 [Task.WaitAll() 方法)用于等待 Task 类的所有对象的完成。
C# 中的线程与任务
发布时间:2024/01/20 浏览次数:127 分类:编程语言
-
Thread 类创建一个实际的 OS 线程,而 Task 类创建一个在线程池中异步执行的任务。Thread 类在 C# 中创建实际的操作系统级别的线程。用 Thread 类创建的线程会占用堆栈内存等资源,上下文的 CPU 开
在 C# 中停止线程
发布时间:2024/01/20 浏览次数:138 分类:编程语言
-
在本文中,我将解释如何在 C# 中启动和停止线程。有时,在 C# 中使用线程时,你可能会遇到需要终止线程的情况。C# 确实为你提供了成功执行此操作的方法,本文旨在解释在 C# 中终止线程的过