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

*爱你&永不变心* 提交于 2020-10-28 09:32:20

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) : new 
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!