LINQ
(Language Integrated Query
)是.NET
框架中的一个强大功能,它允许开发者使用查询语法来处理集合和数据源。LINQ
可以与数组、列表、字典等集合类型,以及XML
文档、数据库和DataSet
等数据源一起使用。
以下是一些基本的LINQ
操作示例:
1. 基本查询
List<int> numbers = new List<int> { 1, 2, 3, 4, 5 };
var lowNumbers = from num in numbers
where num < 3
select num;
foreach (var num in lowNumbers)
{
Console.WriteLine(num);
}
2. 使用LINQ
扩展方法
var evenNumbers = numbers.Where(n => n % 2 == 0).ToList();
3. 排序
var sortedNumbers = numbers.OrderBy(n => n).ToList();
4. 过滤
var filteredNumbers = numbers.Where(n => n > 3);
5. 投影
var names = new List<Person> {
new Person { Name = "Alice", Age = 25 },
new Person { Name = "Bob", Age = 30 }
};
var personNames = names.Select(p => p.Name).ToList();
6. 聚合
int count = numbers.Count();
int sum = numbers.Sum();
double average = numbers.Average();
7. 连接和分组
var groupedNumbers = numbers
.GroupBy(n => n % 2 == 0)
.ToDictionary(
group => group.Key,
group => group.Count()
);
8. 转换
var squares = numbers.Select(n => n * n).ToList();
9. 使用LINQ to SQL
或Entity Framework
using (var context = new MyDbContext())
{
var products = from p in context.Products
orderby p.Name
select p;
}
总结
LINQ
提供了一种声明式的方式来查询和操作数据,使代码更简洁、更易于阅读和维护。它还支持类型安全和编译时检查,减少了运行时错误的可能性。