jQuery find() 搜索所有段落中的后代 C# find() 第一个匹配元素 Func 有返回值 Action是没有返回值 Predicate 只有一个参数且返回值为bool 表达式树Expression
所有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的更多相关文章
- [C#] C# 知识回顾 - 表达式树 Expression Trees
C# 知识回顾 - 表达式树 Expression Trees 目录 简介 Lambda 表达式创建表达式树 API 创建表达式树 解析表达式树 表达式树的永久性 编译表达式树 执行表达式树 修改表达 ...
- 表达式树(Expression Tree)
饮水思源 本文并非原创而是下面网址的一个学习笔记 https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/concepts/e ...
- C# 知识回顾 - 表达式树 Expression Trees
C# 知识回顾 - 表达式树 Expression Trees 目录 简介 Lambda 表达式创建表达式树 API 创建表达式树 解析表达式树 表达式树的永久性 编译表达式树 执行表达式树 修改表达 ...
- 表达式树 Expression
转载泛型方法动态生成表达式树 Expression public string GetGridJSON(TraderInfo model) { IQueryable<TraderInfo> ...
- 利用表达式树Expression优化反射性能
最近做了一个.Net Core环境下,基于NPOI的Excel导入导出以及Word操作的服务封装,涉及到大量反射操作,在性能优化过程中使用到了表达式树,记录一下. Excel导入是相对比较麻烦的一块, ...
- 表达式树Expression
Expression表达式树动态查询 在进行数据列表的查询中,我们通常会使用两种方式进行查询: linq查询 数据库sql语句查询 这样固然可以实现查询,本人之前也都是这么做的,因为查询的条件很少.使 ...
- C# 表达式树 Expression
表达式树是定义代码的数据结构. 它们基于编译器用于分析代码和生成已编译输出的相同结构. 几种常见的表达式 BinaryExpression 包含二元运算符的表达式 BinaryExpression b ...
- Func委托与表达式树Expression
最近在写ORM框架,其中遇到一个难点,就是作为框架调用方如何将查询条件传入框架内.其中就用到了Expression. Func委托 要Expression先要了解Func委托,Func委托的样式是: ...
- 泛型方法动态生成表达式树 Expression
public string GetGridJSON(TraderInfo model) { IQueryable<TraderInfo> Temp = db.TraderInfo; if ...
随机推荐
- luogu P1938找工就业
一头牛在一个城市最多只能赚D元,然后它必须到另一个城市工作.当然它可以在别处工作一阵子后,又回到原来的城市再最多赚D美元.而且这样的往返次数没有限制城市间有P条单向路径,共有C座城市,编号1~C,奶牛 ...
- 11.5NOIP2018提高组模拟题
书信(letter) Description 有 n 个小朋友, 编号为 1 到 n, 他们每人写了一封信, 放到了一个信箱里, 接下来每个人从中抽取一封书信. 显然, 这样一共有 n!种拿到书信的情 ...
- ( 转 ) mysql复合索引、普通索引总结
对于复合索引:Mysql从左到右的使用索引中的字段,一个查询可以只使用索引中的一部份,但只能是最左侧部分.例如索引是key index (a,b,c). 可以支持a | a,b| a,b,c 3种组合 ...
- PHP Shell生成工具Weevely
PHP Shell生成工具Weevely Weevely是一款模拟Telnet连接的PHP Shell工具.它不提供网页形式的接口,而是提供一个命令形式的终端.渗透测试人员首先使用该工具生成对应的 ...
- Servlet 3.1 规范
在线版目录 Servlet3.1规范翻译——前言 Servlet3.1规范翻译——概览 Servlet3.1规范翻译——Servlet Context Servlet3.1规范翻译——Response ...
- 深入理解Session和Cookie机制
具体来说cookie机制采用的是在客户端保持状态的方案.它是在用户端的会话状态的存贮机制,他需要用户打开客户端的cookie支持.cookie的作用就是为了解决HTTP协议无状态的缺陷所作的努力. 而 ...
- [Codeforces 28D] Do not fear,DravDe is kind
Brief Intro: 对于四元组(v,c,l,r),求其子序列中v最大的和,并使其满足: 1.Ci+Li+Ri相同 2.L1=0,Rn=0 3.Li=Sigma(C1...Ci-1) Soluti ...
- Spoj Query on a tree III
题目描述 给出N个点的一棵树(N-1条边),节点有白有黑,初始全为白 有两种操作: 0 i : 改变某点的颜色(原来是黑的变白,原来是白的变黑) 1 v : 询问1到v的路径上的第一个黑点,若无,输出 ...
- 【枚举】【贪心】 Codeforces Round #398 (Div. 2) B. The Queue
卡题意……妈的智障 一个人的服务时间完整包含在整个工作时间以内. 显然,如果有空档的时间,并且能再下班之前完结,那么直接输出即可,显然取最左侧的空档最优. 如果没有的话,就要考虑“挤掉”某个人,就是在 ...
- [CF842E]Nikita and game
[CF842E]Nikita and game 题目链接: CF842E 博客地址: [CF842E]Nikita and game - skylee 题目大意: 一棵树初始只有一个编号为\(1\)的 ...