小工具知识网

当前位置: 首页 > 行业知识 > C# LINQ基础

行业知识

C# LINQ基础

2026-11-10 11:47:43 来源:互联网转载

LINQ基础

  • 1. 入门
  • 2. 运算符流语法
    • 2.1 连续使用查询运算符
    • 2.2 使用Lambda表达式
      • 2.2.1 Lambda表达式及Func的方法签名
      • 2.2.2 Lambda表达式和元素类型
      • 2.2.3 自然排序
      • 2.2.4 其他查询运算符
      • 3 查询表达式
      • 4 延迟执行
        • 4.1 重复执行
        • 4.2 捕获的变量
        • 4.3 延迟加载的工作原理
        • 4.4 查询语句的执行方式
        • 5 子查询
        • 6 LINQ构造方式
        • 7 映射策略
        • 8 解释性查询
        • 9 LINQ to SQL 和 EF的区别
        • 10 查询表达式的创建
        • 委托、匿名方法、Lambda表达式
        • 11 ���定义一个运算符,了解原理

          本篇文章所有内容均来源于书籍《果壳中的C#》,本博客用于复习知识、分享知识使用。

          1. 入门

          2. 运算符流语法

          2.1 连续使用查询运算符

          2.2 使用Lambda表达式

          2.2.1 Lambda表达式及Func的方法签名

          2.2.2 Lambda表达式和元素类型

          2.2.3 自然排序

          2.2.4 其他查询运算符

          3 查询表达式

          博主不使用该方式,书籍内的大多数知识直接忽略

          4 延迟执行

          4.1 重复执行

          4.2 捕获的变量

          4.3 延迟加载的工作原理

          TODO

          4.4 查询语句的执行方式

          5 子查询

          6 LINQ构造方式

          7 映射策略

          8 解释性查询

          9 LINQ to SQL 和 EF的区别

          10 查询表达式的创建

          委托、匿名方法、Lambda表达式

          委托:指向函数的类型(自定义,Action,Func)

          匿名方法:没有方法名的方法(delegate)

          lambda表达式:匿名方法可简化为lambda表达式,并且可以推断出类型

          11 自定义一个运算符,了解原理

          实现查找大于10的所有数

                  static void Main(string[] args)        {            int[] nums = new int[] { 15,1,5,155,441,56};            var res = nums.MyWhere(p => p > 20);            foreach (int i in res) {                Console.WriteLine(i);            };            //查找大于10的所有数            nums.Where(t => t > 10).ToList().ForEach(Console.WriteLine);            Console.ReadKey();        }                public static class MyLinq    {        public static IEnumerable MyWhere(this IEnumerable t,Func action) {            //List list = new List();            foreach (var item in t) {                if (action(item))                {                    Console.WriteLine("MyWhere:"+item);                    //list.Add(item);                    yield return item;                }            }            //return list;        }}

上一篇:nginx部署前端(vue)项目及配置修改

下一篇:微信极速置顶秘籍,轻松掌握快速返回顶部小技巧!