当前位置: 首页 > news >正文

网站程序怎么做小程序价格表一览表

网站程序怎么做,小程序价格表一览表,合肥网站建设,杭州营销型网站建设【.NET Core】语言集成查询#xff08;LINQ#xff09;详解 文章目录 【.NET Core】语言集成查询#xff08;LINQ#xff09;详解一、概述二、查询表达式三、LINQ查询操作中的类型关系3.1 不转换数据源的查询3.2 转换数据源的查询3.3 转换数据源返回复杂类型查询3.4 让编译…【.NET Core】语言集成查询LINQ详解 文章目录 【.NET Core】语言集成查询LINQ详解一、概述二、查询表达式三、LINQ查询操作中的类型关系3.1 不转换数据源的查询3.2 转换数据源的查询3.3 转换数据源返回复杂类型查询3.4 让编译器推断类型信息 四、LINQ查询中的IEnumberableT变量4.1 IEnumerator4.2 IEnumberable4.3 Queryable4.4 Queryable VS IEnumberable 一、概述 语言集成查询LINQ是一系列直接将查询功能集成到C#语言的技术统称。数据查询历来都表示为简单的字符串没有编译时类型检查或IntelliSense支持此外需要针对每种类型的数据源了解不同的查询语言SQL数据库XML文档各种Web服务类。借助LINQ查询成为了最高级别的语言构造。 IntelliSense是一种代码补全辅助工具它包含许多功能成员列表参数信息快速信息和完成单词。使用这些功能可以详细了解使用的代码跟踪键入的参数还可通过轻敲几个按键来添加属性和方法调用。 对于每个程序员来数LINQ是一种语言集成查询表达式。查询表达式采用声明性查询语法编写而成。使用查询语法可以用最少的代码对数据源执行筛选排序和分组操作。可使用相同的基本查询表达式模式来查询和转换SQL数据库ADO.NET数据集XML文档和流以及.NET集合中的数据。 二、查询表达式 查询表达式可用于查询并转换所有启用了LINQ的数据源中的数据。查询表达式使用C#语言构造因此查询它易于掌握。查询表达式中的变量全都是强类型。只有在循环访问查询变量后才会执行查询。查询表达式在编译时根据C#规范规则转成标准的查询运算符方法调用。可使用查询语法表示的任何查询都可以使用方法进行表示。查询语法的可读性更高更简洁。在编写LINQ查询时尽量使用查询语法并在必要时尽可能使用方法语法。查询操作如Count或Max没有等效的查询表达式子句必须表示为方法调用。查询表达式在编译时会根据类型编译为表达式树或委托。IEnumerable查询编译为委托。IQueryable和IQueryable查询编译为表达式树。 三、LINQ查询操作中的类型关系 LINQ 查询操作在数据源、查询本身及查询执行中是强类型的。 查询中变量的类型必须与数据源中元素的类型和 foreach 语句中迭代变量的类型兼容。 3.1 不转换数据源的查询 Liststring namesnew Liststring{John,Rick,Maggie,Mary}; IEnumerablestring respQuery from name in names where name[0]M select name; foreach(string str in respQuery){Console.WriteLine(str); }数据源的类型参数决定范围变量的类型。所选对象的类型决定查询变量的类型。如上例子name是一个字符串。因此查询变量就是一个IEnumerable。在foreach语句中循环访问查询变量。因为查询变量是一个字符串序列所以迭代变量也是一个字符串。 3.2 转换数据源的查询 TableCusomer customers db.GetTableCustomer(); IQueryablestring custNameQuery from customer in customers where cust.CityShangHaiselect customer.Name; foreach(string str in custNameQuery){Console.WriteLine(str); }数据源的类型参数决定范围变量的类型。select语句返回Name属性而非完整的Customer对象。因为Name是一个字符串所以custNameQuery的类型参数是string,而非Customer。custNameQuery是一个字符串序列所以foreach循环的迭代变量也必须是string。 3.3 转换数据源返回复杂类型查询 TableCusomer customers db.GetTableCustomer(); IQueryablestring custNameQuery from customer in customers where cust.CityShangHaiselect new {custName customer.Name,custPhone customer.Phone}; foreach(var cust in custNameQuery){Console.WriteLine(cust.Phone); }数据源的类型参数始终为查询中范围变量的类型。因为 select 语句生成匿名类型所以必须使用 var 隐式类型化查询变量。因为查询变量的类型是隐式的所以 foreach 循环中的迭代变量也必须是隐式的。 3.4 让编译器推断类型信息 var Customers db.GetTableCustomers(); var custQuery from cust in Customers where cust.City London select cust foreach(var item in custQuery){Console.WriteLine(item); }上面实例使用关键字var可用于查询操作中的任何本地变量编译器为查询操作中的各个变量提供强类型。 四、LINQ查询中的IEnumberable变量 LINQ查询变量被类型化为IEnumberable或派生类型IQueryable。看到类型化为IEnumberable的查询变量时意味着执行查询时该查询将生成包含零个或多个T类型对象的序列。 IEnumberableUser userQuery from user in users where user.namegoyeer select user;4.1 IEnumerator IEnumberator对象是一个真正的集合访问器如果没它就不能使用foreach语句遍历集合或数组因为只有有了IEnumberator对象才能访问集合中的项假如没有它连集合中的项都访问不了。 public class MyClass : IEnumerable {int[] temp { 1, 32, 43, 343 };public IEnumerator GetEnumerator(){return temp.GetEnumerator();} }public class Program {public static void Main(String[] args){MyClass temp new MyClass();foreach (int node in temp) {Debug.WriteLine(node);}} }IEnumberator是所有非枚举型枚举器的基接口其泛型等效是System.Collections.Generic.IEnumeratorT接口。 枚举器可用于读取集合中的数据但不能用于修改基础集合。枚举初始化时定位在集合中第一个元素的前面。在读取的值Current之前必须调用MoveNext方法以将枚举数推进到集合的第一个元素否则为Current未定义。 在调用Current或MoveNext之前Reset返回同一对象。MoveNext将Current设置为下一个元素。 如果MoveNext传递集合的末尾则枚举器位于集合中最后一个元素之后并MoveNext返回false。当枚举器位于此位置时对MoveNext的后续调用也会返回false。如果最后一次MoveNext调用返回false,此时Current则为未定定义。 属性 Current 获取集合中位于枚举数当前位置的元素 方法 MoveNext() 将枚举数推进到集合的下一个元素。Reset() 将枚举数设置为其初始位置该位置位于集合中第一个元素之前。 4.2 IEnumberable IEnumberable是一个可枚举的所有非泛型集合的基础接口。IEnumberable包含单个方法GetEnumberatorIEnumerable接口为foreach迭代提供了支持。 IEnumerator接口定义对类中的集合类型对象的迭代方式。 IEnumerable接口允许使用foreach循环进行枚举。 4.3 Queryable 提供一组用于查询实现IQueryable的数据结构static方法。类中Queryable声明的方法集提供了标准查询运算的实现用于查询IQueryable的数据源标准查询运算符是LINQ模式的常规用途方法使你能够对任何中的数据表进行遍历筛选和投影操作。 4.4 Queryable VS IEnumberable System.linq.Queryable中,参数接收的是一个表达式类型,返回IQueryable接口 System.linq.Enumerable中,参数接收的是一个谓词表达式也就是一个委托 Func谓词表达式就是一个委托委托一旦调用就立即执行了将执行结果保存在内存中 Expression是一个表达式会存储拼接表达式树直到在运行期最终执行。
http://www.yutouwan.com/news/56169/

相关文章:

  • 查看网站开发语言网站建设 石景山
  • 西部数据网站管理助手用wordpress做个
  • 网站后台管理是做一些什么wordpress支持大文件上传
  • 济南网站建设联系方式企业邮箱怎么申请注册流程
  • 泰州建设局网站安监站通报湛江做网站电话
  • 精彩的网格布局网站乐清新闻最新消息视频
  • 县总工会网站建设情况介绍基于微信的网站开发
  • 南昌网站建设哪家好薇企业网站的优点和缺点
  • 网站首页设计风格有哪些化工行业网站设计
  • 青海省住房和城乡建设厅 网站首页wordpress多主题插件下载
  • 关于论文网站开发参考文献关于做摄影的网站
  • 网站推广属于什么行业中国建设手机银行app下载
  • 网站名词排名怎么做网站备案信息可以改吗
  • 紫色网站房车网站建设意义
  • 网站设计公司如何做好网站建设wordpress添加本地视频
  • 凡科建站电话咨询山东广饶县建设局网站
  • 安徽省住房和城乡建设部网站在谷歌上做国际网站
  • 软件承接网站建设百度网站建设产品
  • 怎么做网站seo优化阳城网站建设
  • 档案网站建设的步骤百度风云榜排行榜
  • php网站开发软件是什么产品网站建设方案
  • wordpress 好吗知乎系统优化的意义
  • 响应式网站建设服务商打开备份的wordpress
  • 关于公司网站建设方案收集微商城网站制作
  • 网站建设提成北京外贸网站建设价格
  • 上海专业制作电子商务网站天津建设工程投标信息
  • 云南网站建设小程序开发织梦网站栏目如何做下拉
  • 开发微信微网站建设wordpress回复邮箱
  • 网站管理主要包括哪些内容女孩学电子商务专业好就业吗
  • 自己买个服务器做网站如何购买一个网站的域名