• Linq的使用场景简介和认识


    一:C#的一个分支Linq

    二:学Linq需要有一些基础知识

    1. var 隐式类型

    2. 匿名类型/匿名方法 

    3. 自动属性

    4. 委托/泛型的委托

    5. lambda

    6. 扩展方法

    7. 对象初始化器  (匿名对象)

    8. IEnumerable/yield/GetEnumerator


    三:linq的作用的是什么 【大一统】

    什么叫大一统: 就比如 linq中包含了对象查询,数据查询,xml查询等, 都包含在一起。

    1. linq 【对象查询,数据查询,xml查询, xxx】

    2. linq 其实就是使用扩展方法的lambda表达式。

    四:linq to object

    1. 原来 VS 现在

    《1》 定义一个类

    《2》 初始化了一个List集合。

    《3》 foreach循环遍历。

    namespace ConsoleApplication1
    {
        class Program
        {
            static void Main(string[] args)
            {
                //找到str中包含“A”的字符串,然后已大写字符串和字符串长度的形式转存出来。
                //{Word="AS",Length=2},{Word="SPA",Length=3}
                //最原始的方式
                var strs = new string[] { "is", "as", "spa" };
                List<Word> words = new List<Word>();
                foreach (var str in strs)
                {
                    var upper = str.ToUpper();
                    if (upper.Contains("A"))
                    {
                        words.Add(new Word() { Str = upper, Length = upper.Length });
                    }
                }
                //现在的读取方式
                var query = from str in strs
                            let upper = str.ToUpper()  //定义临时变量
                            where upper.Contains("A")
                            select new { Str=upper, Length=upper.Length };
            }
        }
        class Word
        {
            public string Str { get; set; }
            public int Length { get; set; }
        }
    }

    2. linq to sql/ ado.net entityframework

    这两个都是用linq的方式读取/操作数据库。

    原来: 我们是写sql代码的形式操作数据库。

    表达式树,将lamada用树的形式存储起来,这样就方便将lambda表达式
    解析成sql。

    3. linq to dataset => datatable

    原来:我们操作dataset/datatable 有foeach的形式。

    现在:我们就可以用linq的方式了。


    4. linq to xml

    原来:用xmlwriter和xmlreader的形式来操作xml。

    现在:我们用linq中的XDocument和XElement这样两种方式操作xml。

    当然,大家一定要知道 linq to xml 其实是对xmlwriter的一种高层封装。


    5. linq to xxx

    这里的xxx需要自己去实现IQueryable接口。

  • 相关阅读:
    SSM框架配置文件整合
    JSP(四)----JSTL
    MVC开发模式
    JSP(二)----指令,注释,内置对象
    Session
    JavaWeb----Cookie&Session
    JSP(一)----入门学习
    idea激活码
    sql server 模糊查询通配符%和下划线无法匹配问题
    docker服务卸载脚本
  • 原文地址:https://www.cnblogs.com/dragon-L/p/6441728.html
Copyright © 2020-2023  润新知