zoukankan      html  css  js  c++  java
  • 委托-匿名函数-lambda表达式的理解,用法,演进关系

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    namespace Delegate.test
    {
        public delegate void Value(string str);
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
            /// <summary>
            /// 第一种委托的最原始用法时才需要有这个方法
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            //private  void  Method(string str)
            //{
            //    label1.Text = str;
            //}
            ///委托的理解:
            ///delegate定义一个事情需要委托给别人做,但是给谁做不确定;
            ///事件发生,NEW委托时,将一个方法作为实参写进NEW委托的语句里。此时表示委托给了该方法去做;
            ///new后新建的委托名称.Invoke(实参)。即:给委托的方法传送实参。
            private void textBox1_TextChanged(object sender, EventArgs e)
            {
                ///第一种,委托的最原始用法
                //Value value = new Value(Method);//所谓委托,就是Delegate定义有这么个事件需要别人帮忙做,
                //value.Invoke(textBox1.Text);    //由谁做不确定。在事件发生时NEW委托类,这个时候把哪个方法
                //                                //作为参数写进里面,就是委托给了那个方法。
                //                                 //然后再调用该重载后的委托类。这就是委托的全部含义
                ///第二种,委托的匿名用法
                //Value value = delegate (string str) { label1.Text = str; };//省略method方法,公式写在了这里
                //value.Invoke(textBox1.Text);//上一行直接省略了需要委托的对象(即method方法),便于阅读
                ///第三种方法,lambda表达式
                Value value = (str) => { label1.Text = str; };
                value.Invoke(textBox1.Text);
            }
        }
    }
     
    winform窗体如图:
    将textBox1.text写入到label1.text中去
    自动驱动未来
  • 相关阅读:
    HDU 3081 Marriage Match II
    HDU 4292 Food
    HDU 4322 Candy
    HDU 4183 Pahom on Water
    POJ 1966 Cable TV Network
    HDU 3605 Escape
    HDU 3338 Kakuro Extension
    HDU 3572 Task Schedule
    HDU 3998 Sequence
    Burning Midnight Oil
  • 原文地址:https://www.cnblogs.com/rb-huang/p/10750130.html
Copyright © 2011-2022 走看看