zoukankan      html  css  js  c++  java
  • 1. Linq 基础概念

    Linq 是什么

    语言集成查询(Language Integrated Query), Linq 是.net 为我们提供的高效查询和高阶函数(求和等)的API,以便我们能够编写高度表达力的声明式代码;

    Linq 能做什么

    它提供对不同数据源的简化访问,不管使用哪种数据源,Linq都又一套类似的语法,使用Linq简化了我们的开发工作;

    //比如查找具有特定属性值的所有 XML 元素
    public static IEnumerable<XElement> FindAllElementsWithAttribute(XElement documentRoot, string elementName,
                                               string attributeName, string value)
    {
        return from el in documentRoot.Elements(elementName)
               where (string)el.Element(attributeName) == value
               select el;
    }
    //为了执行此任务而编写代码来手动遍历 XML 文档会带来重重困难

    Linq 不仅仅提供了与XML Docs,还提供了Linq To SQL,还可以使用JSON.NET 的Linq 有效地遍历Json文档,collections, ADO.Net DataSet, web service and other databases

    Linq的用途

    Linq 返回object是结果,可以让你使用面向对象开发,不用担心传输不同的格式到

    The following example demonstrates a simple LINQ query that gets all strings from an array which contains 'a'.

    // Example: LINQ Query to Array
        // Data source
    string[] names = {"Bill", "Steve", "James", "Mohan" };
    
    // LINQ Query
    var myLinqQuery = from name in names
                    where name.Contains('a')
                    select name;
    
    // Query execution
    foreach(var name in myLinqQuery)
        Console.Write(name + " ");
    // 完查询后你必须执行它才能得到结果;

    Linq 的优势是什么

    • 相近的语法,用户不用再针对不同数据类型频繁学习新的查询语言
    • 更少的代码 比着传统的方式,Linq更加简洁,之前都是要用for或者foreach写一堆的代码
    • 可读性比较高 让代码看起来更加容易明白并掌握它
    • 针对不同的数据源却有标准的查询方式
    • 编译时安全的查询: 提供了类型检查
    • 智能提示支持:避免写错字段名词
    • 输出不同的数据格式:同一种数据,你可以输出为不同数据格式;

    我们能够在哪儿使用Linq

    上面一张图中向我们展示了Linq使用范围,另外在实现了IEnumerable 或IQueryable 接口的类上面都可以使用;

  • 相关阅读:
    利用Connect By构造数列
    Linux学习4——Vim和Bash
    Linux学习3——磁盘文件管理系统与压缩和打包操作
    Linux学习2——文件与目录
    Linux学习1——首次登录
    Linux系统的简介及Linux系统的安装
    Windows系统的安装
    5月份的技术总结
    计算机网络基本概念
    软件测试基础概念摘要
  • 原文地址:https://www.cnblogs.com/maanshancss/p/13086664.html
Copyright © 2011-2022 走看看