Linq 是一种强大的查询语言,可以过滤、排序和组合各种数据源。下面我们将讨论 Linq 的各种用法。
Linq 可以应用于任何对象集合,以下是一个示例:
var numbers = new int[] { 1, 2, 3, 4, 5 };
var result = from n in numbers where n % 2 == 0 select n;
上述示例将从数字数组中选择所有偶数。在这个示例中,我们定义了一个数据源“numbers”,在这个数据源中我们使用 Linq 查询获取偶数。
使用 Where 筛选数据也是 Linq 的常用用法:
var numbers = new int[] { 1, 2, 3, 4, 5 };
var result = numbers.Where(n => n % 2 == 0);
Where 语句会筛选出数组中所有偶数。
使用 OrderBy 对数据进行排序也是 Linq 的重要用法之一:
var numbers = new int[] { 5, 2, 1, 3, 4 };
var result = numbers.OrderBy(n => n);
OrderBy 语句会将数字数组按顺序排列,此处为从小到大。
使用 GroupBy 可以将数据按特定属性分组,示例如下:
var bikes = new[] {
new Bike { Brand = "Trek", Model = "Emonda" },
new Bike { Brand = "Specialized", Model = "Roubaix" },
new Bike { Brand = "Specialized", Model = "Tarmac" },
new Bike { Brand = "Trek", Model = "Domane" }
};
var result = bikes.GroupBy(b => b.Brand);
在上述示例中,我们将自行车数据按品牌分组。
Join 语句可以将两个数据源按关系关联起来,示例如下:
var departments = new[] {
new Department { Id = 1, Name = "Labs" },
new Department { Id = 2, Name = "Marketing" },
new Department { Id = 3, Name = "Engineering" }
};
var employees = new[] {
new Employee { Id = 1, Name = "Jane", DepartmentId = 1 },
new Employee { Id = 2, Name = "John", DepartmentId = 3 },
new Employee { Id = 3, Name = "Sarah", DepartmentId = 2 }
};
var result = departments.Join(employees, d => d.Id, e => e.DepartmentId, (d, e) => new { Department = d.Name, Employee = e.Name });
上述示例将部门和员工数据源按部门 ID 关联起来。
除了上述示例外,Linq 还有很多其他用法,如 Distinct、Count、First、Last 等,它们都是 Linq 强大功能的体现。希望这篇文章可以为您了解 Linq 提供帮助。
手机扫一扫
移动阅读更方便
你可能感兴趣的文章