美文网首页
C#委托delegate/Lambda表达式

C#委托delegate/Lambda表达式

作者: Super_邓帅 | 来源:发表于2017-04-17 11:26 被阅读0次


委托解决指针解决的问题,但比指针安全

namespace DelegateDemo
{
    public delegate void Dele1(int i);//声明什么样的委托,前提是得有这样的方法
                                      //Dele1:void类型,参数只有一个int型的方法
    public delegate int Dele2(int i,double j);
    public delegate void Dele3(string s);
    public class Display
    {
        public void D1(int i)
        {
            Console.WriteLine("i是:{0}", i);
        }
        public int D2(int i, double j)
        {
            Console.WriteLine("i:{0},j:{1}", i, j);
            return 1;
        }
        public static int  D3(int i,double j) {
            Console.WriteLine("i:{0},j:{1}", i, j);
            return 1;
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            Display d = new Display();
            Dele1 d1 = new Dele1(d.D1);
            d1(4);
            Dele2 d2 = new Dele2(d.D2);
            d2(5, 2.8);
            Dele2 d3 = Display.D3;
            d3(7, 3.5);
            d2 += d3;           //d2和d3都是void类型时,才会实现方法的叠加
            d2(6, 9.0);

            //匿名委托
            Dele3 dele3 = delegate (string s)
            {
                Console.WriteLine(s);
            };
            dele3("Hello!");
        }
    }
}


Lambda表达式

如果用到,敬请百度
运算符“=>”,goes to
变量输入=>表达式/语句块(具体课本215页)

namespace LambdaDemo
{
    class Program
    {
        static void Main(string[] args)
        {
            int[] ints = new int[] { 2, 356, 78, 43, 78, 4 };
            var result = ints.OrderBy(x => x);//升序排列
            foreach(var item in result)
            {
                Console.Write(item+"\t");
            }
            Console.WriteLine();
           
            var result1 = ints.Average(x => x);//求平均值
            Console.WriteLine(result1);
        }
    }
}

相关文章

  • 2020-02-19

    C# 委托 (一)—— 委托、 泛型委托与Lambda表达式 原创wnvalentin 最后发布于2018-08-...

  • C#中的Lambda表达式与委托的比较及用法

    C#中的Lambda表达式与委托的比较及用法 Lambda表达式 "Lambda表达式"是一个匿名函数,是一种高效...

  • C#委托delegate/Lambda表达式

    委托解决指针解决的问题,但比指针安全 Lambda表达式 如果用到,敬请百度运算符“=>”,goes to变量输入...

  • C# 委托

    C#委托 C#中的委托(Delegate)类似于C或C++中函数的指针。委托(Delegate)是存有对某个方法的...

  • (转).NET面试题系列[7] - 委托与事件

    委托和事件 委托在C#中具有无比重要的地位。 C#中的委托可以说俯拾即是,从LINQ中的lambda表达式到(包括...

  • C# 高级语言总结

    后续 1 C# 委托 委托(Delegate)特别用于实现事件和回调方法。所有的委托(Delegate)都派生自 ...

  • C#委托Delegate和事件Event实战应用

    一、委托的概念 C# 中的委托(Delegate)类似于 C 或 C++ 中函数的指针。委托(Delegate)是...

  • Python学习(十六)--lambda表达式、map和redu

    1.lambda表达式 python把lambda称作匿名函数,C#则直接称作lambda表达式(lambda表达...

  • C# 委托(Delegate)

    C# 中的委托(Delegate)类似于 C 或 C++ 中的函数指针。委托(Delegate) 是存有对某个方法...

  • 19-委托

    C# 中的委托(Delegate)类似于 C 或 C++ 中函数的指针。 委托(Delegate) 是存有对某个方...

网友评论

      本文标题:C#委托delegate/Lambda表达式

      本文链接:https://www.haomeiwen.com/subject/omnhmttx.html