排名
                
                
                    6
                
            
                    文章
                
                
                    6
                
            
                    粉丝
                
                
                    16
                
            
                    评论
                
                
                    8
                
            
            {{item.articleTitle}}
            
    {{item.blogName}} : {{item.content}}
        
            ICP备案  :渝ICP备18016597号-1
        
        
            网站信息:2018-2025TNBLOG.NET
        
        
            技术交流:群号656732739
        
        
            联系我们:contact@tnblog.net
        
        
            公网安备: 50010702506256
50010702506256
        
     50010702506256
50010702506256
         
        
            欢迎加群交流技术
        
     分类:
    .net
    
    分类:
    .net
大家好,好久不见哦!前段时间因为忘记了帐号了没有更新了哈哈!
今天普及一下自己学到的新花样,在C#里面方法居然可以当参数传递?好奇怪是不是...
首先这个定义成为委托 OK废话不多说 上代码
我们定义一个类MyTime 里面添加一个方法
//定义一个私有方法,输出一句话
        private void nameHappy(string name)
        {
            Console.WriteLine(name+"国庆快乐");
        }然后再定义一个无返回值有参数的方法Excute
public void Excute(string name)
        {
            nameHappy(name);
        }上面的Excute就是委托的方法,相当于用户委托这个方法执行其他任意的方法,里面可以做一些业务逻辑操作等等..
然后我们在主函数(Main())入口执行操作,如下代码:
static void Main(string[] args)
        {
            MyTime mytime = new MyTime();
            Action<string> acction = mytime.Excute;
            acction("赖总");
        }上面如下截图解释:

运行代码:

上面所说的是没有返回值委托方法 使用Action委托
下面我们来看一下如果委托方法有参数呢?怎么办
上代码
在MyTime里定义一个Num私有方法
private int Num(int num1, int num2)
        {
            return num1 + num2;
        }委托方法GetNum方法返回计算结果:
public int  GetNum(int num1, int num2)
        {
            return Num(num1, num2);
        }然后再主函数入口
static void Main(string[] args)
        {
            MyTime mytime = new MyTime();
            //Action<string, int> acction = mytime.Excute;
            //acction("赖总", 70);
            Func<int, int, int> func = mytime.GetNum;
            int result = func(2, 3);
            Console.WriteLine("计算结果为:" + result);
            //Action<int, int> action_time = mytime.timeout;
            //action_time(70, 500);
            
        }上面代码如截图解释:

运行代码:

这是我对于委托的理解 如果有高见 欢迎指导哦!
作用:委托可以在委托方法里做一些逻辑操作,提高效率,简化代码...
但是对于小编来说还是要花点小时间来理解这个委托这种东西哈 哈哈

OK本期结束,下期再见 谢谢浏览阅读....
评价
     
         
         
        