所有p后代span

Id为 TotalProject 的 select 标签 的后代 option标签 为选中的 text

using System;
using System.Collections.Generic;
using System.Linq;
using System.Linq.Expressions;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication5
{
    class Program
    {
        static void Main(string[] args)
        {
            List<" };
            ");
            Console.WriteLine(sd.Find(a => a == "));

            //Lambda 表达式 如果有去的时候 可以不写小括号  ()  --代表 参数
            //Lambda 表达式 如果有回的时候 可以不写大括号  {}  --代表 方法体
            //() => {}
            Func<;  // 无去有回
            Func<;  // 有去有回
            Console.WriteLine(有回());
            Console.WriteLine(有去有回());

            Action<int> 无回 = a => Console.WriteLine(a);
            Action<int, int> 无回2 = (a, b) => Console.WriteLine(a + b);
            //Console.WriteLine(无回(1)); // : 无法从“void”转换为“string”
            无回();
            无回2(, );

            Predicate<string> 有去回bool = a => true;
            Predicate< == a;
            Console.WriteLine(有去回bool("asd"));
            Console.WriteLine(有去回bool2());

            ");   // 去,集合中每个元素。 回,bool
            //sd集合中 每个元素是否满足某条件  满足 返回true(当前元素 被过滤出来) 不满足 返回 false(当前元素 没被过滤出来)
            //sd.Where()   linq 里面就是用这种方法查值的   委托

            //表达式树里面的 T  是 TDelegate(委托泛型)  所以要为委托泛型的格式   也叫委托类型  委托也是有很多的类型的
            // 1 的类型 是 int   "a" 的类型 是 string
            // a => a == "1"  的类型 是  Func<string, bool>
            // (a, b) => Console.WriteLine(a + b)   的类型 是  Action<int, int>
            // a => 5 == a  的类型 是   Predicate<int>

            //Expression 表达式树0 = a => 5 == a; //错误         无法将 lambda 表达式 转换为类型“System.Linq.Expressions.Expression”,因为它不是委托类型    

            Expression<Predicate< == a;  // 值虽然都一样   但 a => 5 == a   这一步 赋值给了 表达式树委托类型
            Expression 表达式树 = 表达式树2;      // 表达式树委托类型值 隐形 转换为  基类表达式树委托  无冲突
            //上面报错  只知道是委托 但不知道是哪种 表达式树委托类型    所以 表达式树委托 和 委托 是不一样的概念 虽然 值一样 可能
            // Expression<Predicate<int>> 表达式树2 = a => 5 == a;  赋值的时候  内部做了处理

            Console.WriteLine(表达式树2.ReturnType); //表达式树委托中 承载的 lambda 表达式(委托) 的返回类型。 bool
            Console.WriteLine(表达式树2.Compile()()); //表达式树委托中 承载的 lambda 表达式(委托)   再传给个5 返回true

            Expression<Func<;
            Console.WriteLine(表达式树有去有回.ReturnType);    // 表达式树委托中 承载的 lambda 表达式(委托) 的返回类型。 int
            Console.WriteLine(表达式树有去有回.Compile()()); // 表达式树委托中 承载的 lambda 表达式(委托)   再传给个5 返回 6

            Expression<Action<int, int>> 表达式树有去无回 = (a, b) => Console.WriteLine(a + b);
            Console.WriteLine(表达式树有去无回.ReturnType);    // 表达式树委托中 承载的 lambda 表达式(委托) 的返回类型。
            //Void 空指针   null 是指针指向null 空
            表达式树有去无回.Compile()(, ); // 表达式树委托中 承载的 lambda 表达式(委托)   再传给个5 6  返回 11

            //说明  表达式树 的作用的 对委托(lambda 表达式) 的处理 加工   整合 重组  对更灵活 操作 委托(lambda 表达式) 提供一些帮助
        }
    }
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Linq.Expressions;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication5
{
    class Program
    {
        static void Main(string[] args)
        {
            List<" };
            ");
            Console.WriteLine(sd.Find(a => a == "));

            //Lambda 表达式 如果有去的时候 可以不写小括号  ()  --代表 参数
            //Lambda 表达式 如果有回的时候 可以不写大括号  {}  --代表 方法体
            //() => {}
            Func<;  // 无去有回
            Func<;  // 有去有回
            Console.WriteLine(有回());
            Console.WriteLine(有去有回());

            Action<int> 无回 = a => Console.WriteLine(a);
            Action<int, int> 无回2 = (a, b) => Console.WriteLine(a + b);
            //Console.WriteLine(无回(1)); // : 无法从“void”转换为“string”
            无回();
            无回2(, );

            Predicate<string> 有去回bool = a => true;
            Predicate< == a;
            Console.WriteLine(有去回bool("asd"));
            Console.WriteLine(有去回bool2());

            ");   // 去,集合中每个元素。 回,bool
            //sd集合中 每个元素是否满足某条件  满足 返回true(当前元素 被过滤出来) 不满足 返回 false(当前元素 没被过滤出来)
            //sd.Where()   linq 里面就是用这种方法查值的   委托

            //表达式树里面的 T  是 TDelegate(委托泛型)  所以要为委托泛型的格式   也叫委托类型  委托也是有很多的类型的
            // 1 的类型 是 int   "a" 的类型 是 string
            // a => a == "1"  的类型 是  Func<string, bool>
            // (a, b) => Console.WriteLine(a + b)   的类型 是  Action<int, int>
            // a => 5 == a  的类型 是   Predicate<int>

            //Expression 表达式树0 = a => 5 == a; //错误         无法将 lambda 表达式 转换为类型“System.Linq.Expressions.Expression”,因为它不是委托类型    

            Expression<Predicate< == a;  // 值虽然都一样   但 a => 5 == a   这一步 赋值给了 表达式树委托类型
            Expression 表达式树 = 表达式树2;      // 表达式树委托类型值 隐形 转换为  基类表达式树委托  无冲突
            //上面报错  只知道是委托 但不知道是哪种 表达式树委托类型    所以 表达式树委托 和 委托 是不一样的概念 虽然 值一样 可能
            // Expression<Predicate<int>> 表达式树2 = a => 5 == a;  赋值的时候  内部做了处理

            Console.WriteLine(表达式树2.ReturnType); //表达式树委托中 承载的 lambda 表达式(委托) 的返回类型。 bool
            Console.WriteLine(表达式树2.Compile()()); //表达式树委托中 承载的 lambda 表达式(委托)   再传给个5 返回true

            Expression<Func<;
            Console.WriteLine(表达式树有去有回.ReturnType);    // 表达式树委托中 承载的 lambda 表达式(委托) 的返回类型。 int
            Console.WriteLine(表达式树有去有回.Compile()()); // 表达式树委托中 承载的 lambda 表达式(委托)   再传给个5 返回 6

            Expression<Action<int, int>> 表达式树有去无回 = (a, b) => Console.WriteLine(a + b);
            Console.WriteLine(表达式树有去无回.ReturnType);    // 表达式树委托中 承载的 lambda 表达式(委托) 的返回类型。
            //Void 空指针   null 是指针指向null 空
            表达式树有去无回.Compile()(, ); // 表达式树委托中 承载的 lambda 表达式(委托)   再传给个5 6  返回 11

            //说明  表达式树 的作用的 对委托(lambda 表达式) 的处理 加工   整合 重组  对更灵活 操作 委托(lambda 表达式) 提供一些帮助
        }
    }
}
//public static IQueryable<TSource> Where<TSource>(this IQueryable<TSource> source, Expression<Func<TSource, bool>> predicate);
//public static IEnumerable<TSource> Where<TSource>(this IEnumerable<TSource> source, Func<TSource, bool> predicate);
// IQueryable 提供对数据类型已知的特定数据源的查询进行计算的功能。 IQueryable  那个 到数据源中查 才能存到内存中
// IEnumerable 公开枚举数,该枚举数支持在指定类型的集合上进行简单迭代。 已经IEnumerable存到内存中了 只做 简单迭代
//所以 Expression<Func<TSource, bool>> predicate  带表达式树的 要去数据源中查 才能存到内存中
//Func<TSource, bool> predicate   不带表达式树的 直接根据 委托查的 直接 在内存中做 简单迭代

jQuery find() 搜索所有段落中的后代 C# find() 第一个匹配元素 Func 有返回值 Action是没有返回值 Predicate 只有一个参数且返回值为bool 表达式树Expression的更多相关文章

  1. [C#] C# 知识回顾 - 表达式树 Expression Trees

    C# 知识回顾 - 表达式树 Expression Trees 目录 简介 Lambda 表达式创建表达式树 API 创建表达式树 解析表达式树 表达式树的永久性 编译表达式树 执行表达式树 修改表达 ...

  2. 表达式树(Expression Tree)

    饮水思源 本文并非原创而是下面网址的一个学习笔记 https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/concepts/e ...

  3. C# 知识回顾 - 表达式树 Expression Trees

    C# 知识回顾 - 表达式树 Expression Trees 目录 简介 Lambda 表达式创建表达式树 API 创建表达式树 解析表达式树 表达式树的永久性 编译表达式树 执行表达式树 修改表达 ...

  4. 表达式树 Expression

    转载泛型方法动态生成表达式树 Expression public string GetGridJSON(TraderInfo model) { IQueryable<TraderInfo> ...

  5. 利用表达式树Expression优化反射性能

    最近做了一个.Net Core环境下,基于NPOI的Excel导入导出以及Word操作的服务封装,涉及到大量反射操作,在性能优化过程中使用到了表达式树,记录一下. Excel导入是相对比较麻烦的一块, ...

  6. 表达式树Expression

    Expression表达式树动态查询 在进行数据列表的查询中,我们通常会使用两种方式进行查询: linq查询 数据库sql语句查询 这样固然可以实现查询,本人之前也都是这么做的,因为查询的条件很少.使 ...

  7. C# 表达式树 Expression

    表达式树是定义代码的数据结构. 它们基于编译器用于分析代码和生成已编译输出的相同结构. 几种常见的表达式 BinaryExpression 包含二元运算符的表达式 BinaryExpression b ...

  8. Func委托与表达式树Expression

    最近在写ORM框架,其中遇到一个难点,就是作为框架调用方如何将查询条件传入框架内.其中就用到了Expression. Func委托 要Expression先要了解Func委托,Func委托的样式是: ...

  9. 泛型方法动态生成表达式树 Expression

    public string GetGridJSON(TraderInfo model) { IQueryable<TraderInfo> Temp = db.TraderInfo; if ...

随机推荐

  1. Android学习--探究服务(一)

    什么是服务? 服务(service)是Android中实现程序后台运行的解决方案,它非常适合去执行那些不需要和用户交互而且还要求长期运行的任务.服务的运行不依赖任何的用户界面,即使应用被切换到后台或者 ...

  2. 状压DP【p2622】 关灯问题II

    题目描述--->P2622 关灯问题II 没用的话: 首先第一眼看到题,嗯?n<=10?搜索? 满心欢喜地敲了一通搜索. 交上去,Wa声一片? 全部MLE! 这么坑人神奇? 一想,可能是爆 ...

  3. POJ2032 Building a Space Station(Kruskal)(并查集)

    Building a Space Station Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 7469   Accepte ...

  4. 5.4 集合的排序(Java学习笔记)(Collections.sort(),及Arrays.sort()底层分析)

    1.Comparable接口 这个接口顾名思义就是用于排序的,如果要对某些对象进行排序,那么该对象所在的类必须实现 Comparabld接口.Comparable接口只有一个方法CompareTo() ...

  5. Exercise02_01

    import java.util.Scanner; public class Out { public static void main(String[] args){ Scanner input = ...

  6. a + b ——C语言初学者百题大战之四

    #include <stdio.h> int main() { int a,b; scanf("%d %d",&a,&b); printf(" ...

  7. Ubuntu 16.04下将ISO镜像制作成U盘启动的工具-UNetbootin(UltraISO的替代工具)

    说明: 1.在Windows下制作ISO镜像的U盘启动工具有很多,但是在Linux平台下估计就只有UNetbootin这个工具最好用了,效果和Windows下的制作方法差不多,但是这个工具只能针对Li ...

  8. Delphi Delay 延时计数的功能。 下面的方法都是思路,但是没有用在项目上

    procedure Tfrm_InstrumentControl.aa;var CurLength: Word; vTimeLength: Word;begin Screen.Cursor := cr ...

  9. Matlab与C++混合编程 编写独立外部应用程序时出现“无法定位序数3906于动态链接库LIBEAY32.dll上”错误

    出现“无法定位序数3906于动态链接库LIBEAY32.dll上”错误,这种错误一般是同名函数出现在两个不同的头文件中了. 笔者的这个错误是由于 #include "mat.h" ...

  10. flask前端优化:css/js/html压缩

    1.先压缩再传输,可以减少传输的大小,减少传输时间,但是压缩需要时间,所以最终页面显示是快了还是慢了,需要比较 2.先看html压缩模块:pip install Flask-HTMLmin 压缩前:大 ...