Linq 入门 顺带 Func与Action】的更多相关文章

Linq的优点: 查询是一种从数据源检索数据的表达式. 查询通常用专门的查询语言来表示. 随着时间的推移,人们已经为各种数据源开发了不同的语言:例如,用于关系数据库的 SQL 和用于 XML 的 XQuery. 因此,开发人员不得不针对他们必须支持的每种数据源或数据格式而学习新的查询语言. LINQ 通过提供一种跨各种数据源和数据格式使用数据的一致模型,简化了这一情况. 在 LINQ 查询中,始终会用到对象. 可以使用相同的基本编码模式来查询和转换 XML 文档.SQL 数据库.ADO.NET…
示例代码下载:Linq之旅:Linq入门详解(Linq to Objects) 本博文详细介绍 .NET 3.5 中引入的重要功能:Language Integrated Query(LINQ,语言集成查询).通过LINQ,我们可以使用相同API操作不同的数据源.接下来就让我们看看LINQ是什么以及如何使用? 再此之前,需要先了解的相关技术 1.        隐式类型.匿名类型.对象初始化器 1)        隐式类型,使用var关键字创建,C#编译器会根据用于初始化局部变量的初始值推断出变…
先说一下个人理解的结论吧: delegate是C#中的一种类型,它实际上是一个能够持有对某个方法的引用的类. delegate声明的变量与delegate声明的事件,并没有本质的区别,事件是在delegate声明变量的基础上包装而成的,类似于变量与属性的关系(在IL代码中可以看到每一个delegate声明的事件都对应是私有的delegate声明的变量),提升了安全性. Action 与Func:这两个其实说白了就是系统定义好的Delegate,他有很多重载的方法,便于各种应用情况下的调用.他在系…
作为一个业余开发,断断续续学.net/c#也有不少日子了, 学习过程中,不断忘了学,学了忘,这让我很苦恼. 以前学习过程中,我总是在笔记本中记录下来知识要点,这么久下来,笔记本都写了四五本了. 然而,随着笔记本的增多,自己很快发现,笔记写了跟没写一样:笔记多了就找不到了-- 所以,我觉得还是上博客园写博客,记录自己每天的学习心得. 如果有什么错误的地方,欢迎大神指教,小弟在这给大神跪谢了 ======================================================…
http://www.cnblogs.com/heyuquan/p/Linq-to-Objects.html Linq之旅:Linq入门详解(Linq to Objects) 示例代码下载:Linq之旅:Linq入门详解(Linq to Objects) 本博文详细介绍 .NET 3.5 中引入的重要功能:Language Integrated Query(LINQ,语言集成查询).通过LINQ,我们可以使用相同API操作不同的数据源.接下来就让我们看看LINQ是什么以及如何使用? 再此之前,需…
http://www.cnblogs.com/heyuquan/p/Linq-to-Objects.html 示例代码下载:Linq之旅:Linq入门详解(Linq to Objects) 本博文详细介绍 .NET 3.5 中引入的重要功能:Language Integrated Query(LINQ,语言集成查询).通过LINQ,我们可以使用相同API操作不同的数据源.接下来就让我们看看LINQ是什么以及如何使用? 再此之前,需要先了解的相关技术 隐式类型.匿名类型.对象初始化器 1)    …
本文原始作者博客 http://www.cnblogs.com/toutou Linq 入门篇(一):分分钟带你遨游linq to xml的世界 本文原创来自博客园 请叫我头头哥的博客, 请尊重版权,跳转至原博文预览. 1.Linq简介 2.Linq案例 创建文件 增 删 改 查 1.Linq简介:回到顶部 LINQ,语言集成查询(Language Integrated Query)是一组用于c#和Visual Basic语言的扩展.它允许编写C#或者Visual Basic代码以查询数据库相同…
当前位置: 主页 > 编程开发 > Asp.net视频教程 > Asp.net之LINQ入门视频教程 > http://www.xin1234.com/Program/AspnetShiPin/AspNetLINQYmSp/ 1.掌握LINQ中的基本概念 上传日期:2014-09-17 02:57:38 相关摘要: - LINQ有关的语言特性:隐式类型 - 网络不稳定的基本处理方法 - python的编程概念比较全面,比vba来得全面,适用范围也广得多了 2.理解扩展方法Lambd…
Func,Action 的介绍 Func是一种委托,这是在3.5里面新增的,2.0里面我们使用委托是用Delegate,Func位于System.Core命名空间下,使用委托可以提升效率,例如在反射中使用就可以弥补反射所损失的性能. Action<T>和Func<T,TResult>的功能是一样的,只是Action<T>没有返类型, Func<T,T,Result>:有参数,有返回类型Action,则既没有返回也没有参数, Func<T,TResult…
Func和Action类是特殊的类型,它们允许你在不必指定自定义委托类型的情况下,去使用委托.在整个.NET框架中都可以使用它们.例如,在我们考察并行计算时,你也会看到这两个类的示例. 上面一段文字是官方的一段翻译.虽然看上去你不太容易能理解是什么意思.的确委托糅合C#的很多概念在里面,一时半会要真正理解其含义用途不是一件现实的事情.说实在的,我也是经历很长的时间才理解委托的用途的,虽然不太全面. 网上关于C#委托的文章很多,大多数都只是说清楚了如何使用委托,但并未解释为什么它们是有用的.当然这…
以前自己写委托都用 delegate, 最近看组里的大佬们都用 Func , 以及 Action 来实现, 代码简洁了不少, 但是看得我晕晕乎乎. 花点时间研究一下,记录一下,以便后期的查阅. 1.Func 用法 (封装方法,传入参数, 有返回值) Func<in T1, in T2, ..., out TResult> (T1, T2, ...) 封装一个方法,该方法有 (0 /1/2/3  ... 16)个参数,且返回由 TResult 参数指定的值的类型. public static v…
一. 泛型委托 所谓的泛型委托,即自定义委托的参数可以用泛型约束,同时内置委托Func和Action本身就是泛型委托. 将上一个章节中的Calculator类中的方法用自定义泛型委托重新实现一下. public class Calculator2 { //传统解决方案一:在该类中声明多个方法,分别是加倍.平方.立方的方法 //传统解决方案二:在该类中声明一个万能方法,通过传递不同的参数类型来区分是执行加倍还是平方或者立方操作 //解决方案三:声明一个万能方法,传递一个委托进来,相当于传递了一个业…
Func与Action是C#的内置委托,在使用委托时,可不必再定义. (1)Func:有返回类型的委托. Func类型的委托,肯定有一个返回类型,如果Func只有一个参数,那么它就是代表没有参数但是有返回类型的一个方法,如Func<int>就代表没有参数且返回类型为int的函数原型. (2)Action:无返回类型的委托 Action类型的委托中的参数都代表函数的参数,如Action<int,int> 代表有两个int类型参数的无返回值的函数原型.…
一. Lambda和linq入门 lambda表达式又叫点标记,linq表达式又叫查询表达式,下面有三个简单的案例说明一下二者的基本用法,详细用法会在后续章节中更新. 二. 事例 1. 准备学生信息. List<Student> studentList = new List<Student>() { new Student() { Id=, Name="打兔子的猎人", ClassId=, Age= }, new Student() { Id=, Name=&q…
好久之前就想系统的学习下LINQ,好久之前…… 本篇文章主要介绍LINQ等的标准查询操作符,内容取自<LINQ高级编程>,后续还会介绍LINQ to XML ,LINQ to SQL. LINQ入门教程之各种标准查询操作符(一) LINQ入门教程之各种标准查询操作符(二) 进入正题 (一)先介绍下标准查询操作符的概念 它是一系列方法的集合,如常见的Select .Where.OrderBy等,这些方法作用于序列(集合)之上,序列是一个实现了IEnumerable<T>接口或IQue…
续上篇LINQ入门教程之各种标准查询操作符(一) LINQ入门教程之各种标准查询操作符(二) 7.  聚合操作符 8.  集合操作符 9.  生成操作符 #region 生成操作符 即从现有序列的值中创建新的序列 /// <summary> /// 返回一个指定类型的空集 /// </summary> static void EmptyFunction() { " }; "}; " }; List<string[]> strlists=ne…
Func.Action和Predicate是.NET自带的3个泛型委托方法,三个方法的区别其实并不大,要强行给混着用也是可以的,但是我们是有追求的人,把道理讲清楚总是好的. 一.Func是有返回值的方法(类似于Delphi里面的function),Func最多支持16个泛型参数和1个泛型返回值(最后一个固定为返回值),并且支持Lambda表达式 //无参数用法 Func<string> funcNone = delegate() { return "我是来打酱油的"; };…
有了泛型委托,就有了一能适用于任何返回类型和任意参数(类型和合理的个数)的通用委托,Func 和 Action.如下所示(下面的in表示参数,out表示返回结果): delegate TResult Func <out TResult> ();delegate TResult Func <in T, out TResult> (T arg);delegate TResult Func <in T1, in T2, out TResult> (T1 arg1, T2 ar…
如题: C# func and action委托是什么? 1) 回答这个问题之前,我们需要了解什么是委托(英文 Delegate )? 为了便于理解,再往前推一步,回到c语言时代,指针的概念. 什么是指针,其实就是内存地址. 那什么是内存地址?就要先说说内存条了,通常情况下我们在网上买的内存条比如8G,16G, 这个是硬件设备. 那内存条8G和16G的含义是什么? 就涉及内存的另外两个概念: 1.内存的寻址能力. 即每个内存单位能存多少位(bit), 每一个bit,其实就是存放0或者1. 内存寻…
委托是一个类,它定义了方法的类型,使得可以将方法当作另一个方法的参数来进行传递. 与其他的类不同,委托类具有一个签名,并且它只能对与其签名匹配的方法进行引用. 一.自定义委托类型 1.语法结构:访问修饰符 delegate 返回类型 委托类型名称(参数列表); 例如: // 声明一个委托类型,两个参数均为int类型,返回值为int类型 public delegate int Calc(int a, int b); 自定义的委托可以不带参数,也可以没有返回值. 接下来我们看一个例子怎么使用委托 u…
委托,顾名思义,就是让其他代理,本质就是为具有共性方法组定义一个方法模板:(交流可以加qq群:435226676) 委托常见的方式有一般委托显示定义,Func<T,TResult> (T,表示传入参数的类型,TResult)表示返回的类型,可以最多有四个参数传入, Action<T>,与Func的唯一区别是没有返回值:Predicate <T>就比较多单一了, 只能传入一个参数,然后返回一个bool值. 下面是示例代码: using System; using Syst…
说明(2017-11-23 10:46:33): 1. Func有返回值,Action无返回值,以后就不用定义delegate委托了. 2. 不过还是不知道什么时候该用委托,蒋坤在讲完事件后,留了个作业,就是经典的窗体传值,试试看能不能自己做出来. 使用Func求水仙花数: using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace _00_Test { class…
序言 在上一篇中,我们认识了什么是表达式树.什么是委托,以及它们的关系.可能是我功力不好,貌似大家都不怎么关注,没有讲解出不同角度的问题. 学习一种新技术,是枯燥的过程,只有在你掌握后并能运用时才能从它身上得到乐趣. 做程序开发是一群很奇怪的人群,我们居然可以通过密密麻麻的英文字符加上标点符号从中找到乐趣,确实很奇怪. 考虑到大家接触新技术需要一个过程: 其实对于很多人来说已经不是新技术了,不过您会耐心看本篇后续的文章,说明您可能对这一项技术运用的并不是很熟练 所以我不打算一上来,就放一大堆代码…
千万别被这个页面的滚动条吓到!!! 我相信你一定能在30分钟之内看完它!!! 在说LINQ之前必须先说说几个重要的C#语言特性 一:与LINQ有关的语言特性 1.隐式类型 (1)源起 在隐式类型出现之前, 我们在声明一个变量的时候, 总是要为一个变量指定他的类型 甚至在foreach一个集合的时候, 也要为遍历的集合的元素,指定变量的类型 隐式类型的出现, 程序员就不用再做这个工作了. (2)使用方法   来看下面的代码: ; //int a = 1; ";//string b = "…
1.匿名方法的概念:一个方法没有具体的名称,而只有关键字delegate.方法参数.方法体.这种方法是匿名方法. 匿名方法的好处:将具体方法和委托直接关联在一起,如果我们基于委托只需要一个方法的时候,匿名方法肯定显得简单. 2.Lambda表达式:在C#3.0出现的.使用这种表达的可以更简练的编写代码块. CalculatorDelegate cal3 = (int a, int b) => { return a + b; }; CalculatorDelegate cal4 = (a, b)…
平时我们如果要用到委托一般都是先声明一个委托类型,比如: private delegate string Say(); string说明适用于这个委托的方法的返回类型是string类型,委托名Say后面没有参数,说明对应的方法也就没有传入参数. 写一个适用于该委托的方法: public static string SayHello() { return "Hello"; } 最后调用: static void Main(string[] args) { Say say = SayHel…
目录 委托 Action Func 总结 委托 委托的那些事 关于委托的基本定义,在很久之前的这篇文章中,有个简单的介绍.稍微回顾一下. 委托是c#中类型安全的,可以订阅一个或多个具有相同签名方法的函数指针 声明委托的方式:delegate 返回值类型 委托类型名(参数) 例如: delegate void Say(string strContent); 如果想使用该委托,需要一个对应的方法. /// <summary> /// 委托对应方法 /// </summary> ///…
写在前面 为什么突然想起来学学linq呢?还是源于在跟一个同事聊天的时候,说到他们正在弄得一个项目,在里面用到了linq to sql.突然想到距上次使用linq to sql是三年前的事情了.下班回到家,翻看了电脑上面关于linq的笔记,它已经逃得无影无踪了.也怪我,没事瞎折腾电脑,早不知道放哪儿了,隐隐约约记得之前写过这样的笔记.没办法,只能重新整理学习了.这也是临近春节,还是把导航放出来吧,感兴趣的,有想回家给自己充充电的,也可以参考一下. 系列文章 Linq之Lambda表达式初步认识…
Func是一种委托,这是在3.5里面新增的,2.0里面我们使用委托是用Delegate,Func位于System.Core命名空间下,使用委托可以提升效率,例如在反射中使用就可以弥补反射所损失的性能. Action<T>和Func<T,TResult>的功能是一样的,只是Action<T>没有返类型, Func<T,T,Result>:有参数,有返回类型Action,则既没有返回也没有参数, Func<T,TResult> 的表现形式分为以下几种…
平时我们如果要用到委托一般都是先声明一个委托类型,比如: private delegate string Say(); string说明适用于这个委托的方法的返回类型是string类型,委托名Say后面没有参数,说明对应的方法也就没有传入参数. 写一个适用于该委托的方法: public static string SayHello() { return "Hello"; } 最后调用: static void Main(string[] args) { Say say = SayHel…