Linq学习
Posted ifconfig
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linq学习相关的知识,希望对你有一定的参考价值。
参考书籍《Illustrated C#7, 5th Edition》
什么是LINQ?
- LINQ = Language Integrated Query 发音"link"
- LINQ是.NET框架的扩展。用类似SQL语法查询数据库一样,来查询数据集。SQL查询数据库,database。LINQ查询数据集,data collection
原因是SQL查询规范的表格,也即数据库,而LINQ不一定是规范的数据。SQL查询的是数据库,而LINQ查询可以查程序数据集。
- 第二点补充,使用LINQ可以查询database(数据库),对象集合(object collection),XML文档(XML document)等
第一个例子:
using System;
using System.Collections.Generic; //集合
using System.Linq;//LINQ
?
class Program
{
static void Main()
{
int[] numbers = { 2, 12, 5, 15 }; // Data source 数据源
IEnumerable<int> lowNums = // Define and store the query. 定义数据data &存储查询query
from n in numbers
where n < 10
select n;
?
foreach (var x in lowNums) // Execute the query.执行查询
Console.Write($"{ x }, ");
}
}
?
结果:
?
LINQ Providers
翻译过来是LINQ 提供程序,但是总感觉这个怪怪的
在之前的示例中,数据源是int数组。它是程序在内存中的对象。
但是LINQ还可以查询各种数据,SQL数据库(database),XML 文档(XML document)等
对于每一种数据,都有对应的LINQ 查询模块,这些代码模块叫做LINQ providers
?
所以:LINQ providers 可以理解为 代码模块 code modules
- 微软为常见数据源类型(common data source types)提供了LINQ providers
- 可以使用任何支持LINQ的语言(这里是C#),来查询数据源(有LINQ providers提供的data)
- 第三方不断提供针对各种数据源类型的LINQ providers
?
以上是关于Linq学习的主要内容,如果未能解决你的问题,请参考以下文章