Lambda Action Func练习

namespace lambda
{
    delegate void TestDelegate(string s);
    class Program
    {
        static void Main(string[] args)
        {
            //动态构建C# Lambda表达式例子1
            var ints = new int[10] {10,2,3,4,5,2,34,54,4,40};
            var newints = ints.Where(i => i > 20);
            foreach (var a in newints)
            {
                Console.WriteLine(a);
            }
            Array.ForEach<int>(ints, i => Console.WriteLine(i));
            TestDelegate del = (s) => { string n = s + ":hello"; Console.WriteLine((n)); };
            del("tom");
            Action<string> ac = (s) => { Console.WriteLine(s+":hello");};
            ac("action");
            Func<string, string> fun = s => { return s + ":hello"; };
            Console.WriteLine(fun("func"));
            Func<int, string, bool> myFunc = (x, y) => (x.ToString() == y);
            Console.WriteLine(myFunc(3, "3"));
            var q = from e in ints
                    select new
                               {

                                   test = e > 5 ? e : -1
                               };
            foreach (var v in q)
            {
                Console.WriteLine(v.test);
            }
            Console.ReadKey();
        }
    }
}
时间: 2024-10-01 04:14:16

Lambda Action Func练习的相关文章

Lambda expressions , Action , Func and Predicate

http://www.tutorialsteacher.com/csharp/csharp-action-delegate lambda 表达式 Action,func lambda表达式是什么,其有什么优点,不使用lambda 其的目的:简化代码. 在JAVA当中一般是使用接口来实现 Action is also a delegate type defined in the System namespace. An Action type delegate is the same as Fun

c# delegate action func predicate event 匿名函数 lambda

1.delegate 是C#中的一种类型,它实际上是一个能够持有对某个方法的引用的类. 与其它的类不同,delegate类能够拥有一个签名 (signature),并且它只能持有与它的签名相匹配的方法的引用. 它所实现的功能与C/C++中的函数指针十分相似.它允许你传递一个类A的方法m 给另一个类B的对象,使得类B的对象能够调用这个方法m.但与函数指针相比,delegate有许多函数指针不具备的优点: 首先,函数指针只能指向静态函 数,而delegate既可以引用静态函数,又可以引用非静态成员函

winform总结2&gt; Action&lt;&gt; ,Action,func&lt;&gt;,委托相关的理解

1,他们是什么: Action 封装一个方法,该方法不具有参数并且不返回值. Action<> 封装一个方法,该方法具有最多16个参数并且不返回值. func<> 封装一个具有一个参数并返回 TResult 参数指定的类型值的方法.最多可以传递16个参数,并且可以有返回值,最后一个参数是返回值. 目前了解到的好像也只有委托是需要传递一个方法的,既然这里的三个方式都是封装一个方法,那么这种写法就肯定是可以用到给委托传递参数一类型的任务时用,想想刚开始学习委托的时候,要给他传递一个方法

委托,C#本身的委托(Action Func)

1.Action 分为带泛型的和不带泛型的,带泛型可传入任何类型的参数. 格式如下: 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6 using System.Windows.Input; 7 8 namespace Demo1 9 { 10 class Program 11 { 12 st

温故而知新:Delegate,Action,Func,匿名方法,匿名委托,事件

一.委托Delegate 一般的方法(Method)中,我们的参数总是string,int,DateTime...这些基本的数据类型(或者没有参数),比如 public void HelloWorld() { Console.WriteLine("Hello World!"); } public void HelloWorld(string name) { Console.WriteLine("Hello ,{0}!", name); } 但是有些时候,我们希望把一

C# 委托 Action Func

Action<T> : 传递参数,只进不出,所以方法为void Func<in T, out Tv> : 传递参数,有进有出,所以传递的方法要return using System; using System.Collections.Generic; using System.Linq; namespace rooxml { public class main { public delegate void fucA(string s); public static void Mai

lambda的Func&lt;&gt;函数

Func<int,int,int> fc=(int x,int y)=>x*y;Console.WriteLine(fc(5, 2)); //声明一个方法,返回值为int,参数是两个int.功能是计算两个整数的乘积. IList<int> list = Enumerable.Range(1, 100).ToList(); Func<int, bool> myDel = delegate(int x) { return x % 2 == 1; };//委托匿名方法

Delegation, Action, Func, Anonymous Method

To be added

C#中Func与Action的理解

Action 与 Func是.NET类库中增加的内置委托,以便更加简洁方便的使用委托.最初使用委托时,均需要先定义委托类型,然后定义一个符合委托类型签名的函数,在调用前,需声明并创建委托对象,将指定函数与委托进行关联.如例1:public delegate int Math(int param1,int param2);定义委托类型Public int Add(int param1,int param2)//定义同签名函数{ Return param1+param2;}Math math;//声