C#基础提升系列——C# LINQ

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;
        this.LastName = lastName;
        this.Country = country;
        this.Starts = starts;
        this.Wins = wins;
        this.Years = years != null ? new List<int>(years) : new List<int>();
        this.Cars = cars != null ? new List<string>(cars)
上一篇:【ASP.NET Core学习】Web API


下一篇:CentOS7.0防火墙以及开关机命令