C#中的LINQ

发布于 2023-07-03  83 次阅读


LINQ(Language Integrated Query)

是一种用于查询和操作数据的编程技术,它是由微软引入的一项功能,最初在.NET Framework 3.5中推出。LINQ 提供了一种统一的语法和模型,使得可以使用相同的查询语句来查询和操作不同类型的数据源,包括集合、数据库、XML、对象等。

LINQ 的主要目标是提供一种统一的查询语法,以简化数据查询和操作的编写过程,并提供强类型检查和编译时错误检测。通过使用 LINQ,我们可以在编程语言(如C#)中直接嵌入查询表达式,而无需编写特定的查询语句或使用独立的查询语言。

LINQ 提供了一组标准查询运算符(如WhereSelectOrderBy等),以及用于数据转换、筛选、排序和聚合等操作的方法。它还支持延迟执行(Lazy Evaluation)和提供了强大的类型推断和编译时优化,以提高查询的性能和效率。

使用 LINQ,我们可以更简洁、直观地编写数据查询和操作的代码,并利用编译器的类型检查和智能感知功能来减少错误和提高开发效率。LINQ 可以用于各种数据源和场景,包括集合查询、数据库查询、XML 解析、对象映射等。

总而言之,LINQ 是一种用于在编程语言中进行查询和操作数据的技术,它提供了一种统一的查询语法和模型,使得数据查询和操作更加简单、直观和高效。

比如 Select 看我下面这个例子:

List<Person> persons = new List<Person>
{
    new Person { Name = "Alice", Age = 25 },
    new Person { Name = "Bob", Age = 30 },
    new Person { Name = "Charlie", Age = 28 }
};

var anonymousObjects = persons.Select(p => new { p.Name, Category = p.Age >= 30 ? "Senior" : "Junior" });

foreach (var obj in anonymousObjects)
{
    Console.WriteLine($"Name: {obj.Name}, Category: {obj.Category}");
}