LINQ 操作符与相关技术全解析
1. 复合组键
在某些场景下,我们需要将多个值放入键中。可以使用匿名类型来实现这一点,示例如下:
var bySubjectAndYear =
from course in Course.Catalog
group course by new { course.Category, course
foreach (var group in bySubjectAndYear)
{
Console.WriteLine($"{group.Key.Category} ({gr
foreach (Course course in group)
{
Console.WriteLine(course.Title);
}
}
这里利用了匿名类型会为我们实现 Equals 和 GetHashCode 方法的特性,该方法适用于所有形式的 GroupBy 操作符。对于那些不将 lambda 表达式视为表达式的 LINQ 提供程序(如 LINQ to Objects),可以使用元组,这样会更简洁且效果相同。
2. 查询类型转换
有时候,我们需要将一种类型的查询转换为另一种类型。例如,可能得到一个类型参数指定为某个基类型(如 object )的集合,但实际上集合中包含的是更具体类型(如 Course )的项。当处理单个对象时,可以
超级会员免费看
订阅专栏 解锁全文
30

被折叠的 条评论
为什么被折叠?



