系列目录    【已更新最新开发文章,点击查看详细】 <https://www.cnblogs.com/SavionZhang/p/11229640.html>
LINQ 查询基于 .NET Framework 版本 2.0 中引入的泛型类型。 无需深入了解泛型即可开始编写查询。 但是,可能需要了解 2 个基本概念:

*
创建泛型集合类(如 List<T>
<https://docs.microsoft.com/zh-cn/dotnet/api/system.collections.generic.list-1>
)的实例时,需将“T”替换为列表将包含的对象类型。 例如,字符串列表表示为 List<string>,Customer 对象列表表示为 
List<Customer>。泛型列表属于强类型,与将其元素存储为 Object
<https://docs.microsoft.com/zh-cn/dotnet/api/system.object> 的集合相比,泛型列表具备更多优势。 
如果尝试将 Customer 添加到 List<string>,则会在编译时收到错误。 泛型集合易于使用的原因是不必执行运行时类型转换。

*
IEnumerable<T>
<https://docs.microsoft.com/zh-cn/dotnet/api/system.collections.generic.ienumerable-1>
 是一个接口,通过该接口,可以使用 foreach 语句来枚举泛型集合类。 泛型集合类支持 IEnumerable<T>
<https://docs.microsoft.com/zh-cn/dotnet/api/system.collections.generic.ienumerable-1>
,正如非泛型集合类(如 ArrayList
<https://docs.microsoft.com/zh-cn/dotnet/api/system.collections.arraylist>)支持 
IEnumerable
<https://docs.microsoft.com/zh-cn/dotnet/api/system.collections.ienumerable>。

有关泛型的详细信息,请参阅泛型
<https://docs.microsoft.com/zh-cn/dotnet/csharp/programming-guide/generics/index>

LINQ 查询中的 IEnumerable 变量 LINQ 查询变量被类型化为 IEnumerable<T>
<https://docs.microsoft.com/zh-cn/dotnet/api/system.collections.generic.ienumerable-1>
 或者派生类型(如 IQueryable<T>
<https://docs.microsoft.com/zh-cn/dotnet/api/system.linq.iqueryable-1>)。 看到类型化为 
IEnumerable<Customer> 的查询变量时,这只意味着执行查询时,该查询将生成包含零个或多个 Customer 对象的序列。
IEnumerable<Customer> customerQuery =from cust in customers where cust.City == "
London" select cust; foreach (Customer customer in customerQuery) {
Console.WriteLine(customer.LastName+ ", " + customer.FirstName); }
有关详细信息,请参阅 LINQ 查询操作中的类型关系
<https://docs.microsoft.com/zh-cn/dotnet/csharp/programming-guide/concepts/linq/type-relationships-in-linq-query-operations>

让编译器处理泛型类型声明
 如果愿意,可以使用 var
<https://docs.microsoft.com/zh-cn/dotnet/csharp/language-reference/keywords/var>
 关键字来避免使用泛型语法。 var 关键字指示编译器通过查看在 from 子句中指定的数据源来推断查询变量的类型。 以下示例生成与上例相同的编译代码:
var customerQuery2 = from cust in customers where cust.City == "London" select
cust;foreach(var customer in customerQuery2) {
Console.WriteLine(customer.LastName+ ", " + customer.FirstName); }
变量的类型明显或显式指定嵌套泛型类型(如由组查询生成的那些类型)并不重要时,var关键字很有用。 通常,我们建议如果使用 var
,应意识到这可能使他人更难以理解代码。有关详细信息,请参阅隐式类型局部变量
<https://docs.microsoft.com/zh-cn/dotnet/csharp/programming-guide/classes-and-structs/implicitly-typed-local-variables>

系列目录    【已更新最新开发文章,点击查看详细】
<https://www.cnblogs.com/SavionZhang/p/11229640.html>

友情链接
KaDraw流程图
API参考文档
OK工具箱
云服务器优惠
阿里云优惠券
腾讯云优惠券
华为云优惠券
站点信息
问题反馈
邮箱:[email protected]
QQ群:637538335
关注微信