LINQ(Language-Integrated Query)是一种用于查询和操作各种数据源的技术,最初由微软引入并在.NET框架中广泛使用。它提供了一种统一的查询语法,可以用于查询集合、数据库、XML等各种数据源。
var numbers = new int[] { 1, 2, 3, 4, 5 };
var query = from num in numbers
where num % 2 == 0
select num;
传统方式的对比:
var numbers = new int[] { 1, 2, 3, 4, 5 };
var result = new List<int>();
foreach (var num in numbers)
{
if (num % 2 == 0)
{
result.Add(num);
}
}
var numbers = new int[] { 1, 2, 3, 4, 5 };
var query = numbers.Where(num => num % 2 == 0);
传统方式的对比:
var numbers = new int[] { 1, 2, 3, 4, 5 };
var result = new List<int>();
foreach (var num in numbers)
{
if (num % 2 == 0)
{
result.Add(num);
}
}
var dbContext = new MyDbContext(); // 假设存在 MyDbContext 类用于访问数据库
var query = from p in dbContext.Products
where p.Price > 100
select p.Name;
传统方式的对比:
var dbContext = new MyDbContext();
var result = new List<string>();
foreach (var p in dbContext.Products)
{
if (p.Price > 100)
{
result.Add(p.Name);
}
}
上述示例展示了LINQ的几种常用方式:基于查询表达式的方式和基于方法链的方式。它们都提供了一种简洁、直观的语法,使得查询和过滤数据变得更加容易和可读。
相比较传统方式,使用LINQ的好处有: