添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

C# LINQ

LINQ(Language Integrated Query,语言集成查询)。在C# 语言中集成了查询语法,可以用相同的语法访问不同的数据源。

命名空间 System.Linq 下的类 Enumerate 中定义了许多LINQ扩展方法,用于可以在实现了 IEnumerable<T> 接口的任意集合上使用LINQ查询。

C#扩展方法在静态类中声明,定义为一个静态方法,其中第一个参数定义了它扩展的类型,扩展方法必须对第一个参数使用 this 关键字。

public static class StringExtension
    public static void WriteLine(this string str)
        Console.WriteLine(str);

调用方式有两种:

//方式一
"测试".WriteLine();
//方式二
StringExtension.WriteLine("测试二");

采用方式一的方式调用,需要导入该扩展方法所在类的命名空间即可。在使用LINQ时,需要导入System.Linq命名空间。

示例实体定义

为了更好的说明LINQ的使用, 我们将使用具体的示例进行说明,在该示例中,分别定义如下几个实体:

Racer.cs:该类用来显示赛车手信息

public class Racer : IComparable<Racer>, IFormattable
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public int Wins { get; set; }
    public string Country { get; set; }
    public int Starts { get; set; }
    public IEnumerable<string> Cars { get; }
    public IEnumerable<int> Years { get; }
    public Racer(string firstName, string lastName, string country,
        int starts, int wins, IEnumerable<int> years, IEnumerable<string> cars)
        this.FirstName = firstName;