【原】泛型委托

//无参数,无返回值,用Action非泛型委托;
            Action action = () => Console.WriteLine("无参数,无返回值的Action");
            action();

            //有参数,无返回值,用Action泛型委托;
            //Action<>泛型委托有15个重载,从1个参数到15个参数;
            //1个参数,无返回值
            Action<int> action1 = n => Console.WriteLine(n.ToString());
            action1(123);//返回结果“123”

            //2个参数,无返回值
            Action<string, int> action2 = (s, i) => Console.WriteLine("第一个参数值--{0},第二个参数值--{1}",s,i);
            action2("哈哈", 456);//返回结果“第一个参数值--哈哈,第二个参数值--456”

            //3个参数,无返回值 。。。。15个参数无返回值。。。。

            //有或者无参数,但有1个返回值用Func<>泛型委托,但有一点要注意的是,返回值类型,一定要写在最后一位;Func<参数1,参数2,参数3.。。。,返回值类型>
            //无参数,有返回值
            Func<string> func = () => { return "无参数,但有一个返回值"; };
            Console.WriteLine(func());//返回结果"无参数,但有一个返回值"

            //有一个参数,有一个返回值
            Func<int, string> func2=n=>{return (n*2).ToString();};
            Console.WriteLine(func2(5));//返回结果“10”

            Console.Read();

 

posted @ 2015-05-09 15:42  哥本哈根  阅读(152)  评论(0编辑  收藏  举报