深入c# Func委托的详解

 更新时间:2013年06月09日 09:45:20   作者:  
本篇文章是对c#中的Func委托进行了详细的分析介绍,需要的朋友参考下
如下所示:
复制代码 代码如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Anonymous_Lam
{
    delegate string ConvertMethod(string Method);
    class Lambda_Fun
    {
        static void Main()
        {
            ConvertMethod ConvertUpperstring = upperCaseString;
            Console.WriteLine("Using delegate instance to call upperString method");
            Console.WriteLine(ConvertUpperstring("guohu"));
            Console.WriteLine("--------------------");
            Console.WriteLine("Using anonymous delegate");
            ConvertMethod ConvertAsynCaseString = delegate(string s)
            {
                return s.ToUpper();
            };
            Console.WriteLine(ConvertAsynCaseString("leihu"));
            Console.WriteLine("--------------------");
            Console.WriteLine("Using Func<int T,Out TResult>");
            Func<string, string> FuncCaseUpper = upperCaseString;
            Console.WriteLine(FuncCaseUpper("junwenLi"));
            Console.WriteLine("--------------------");
            Console.WriteLine("Using anonymous Func<int T,Out TResult>");
            Func<string, string> FuncAnonyCaseUpper = delegate(string Name)
            {
                return Name.ToUpper();
            };
            Console.WriteLine(FuncAnonyCaseUpper("jinhaoLiu"));
            Console.WriteLine("--------------------");
            Console.WriteLine("Using lambda Expression");
            Func<string, string> FuncLambda = Name => Name.ToUpper();
            Console.WriteLine(FuncLambda("chengfan"));
        }
        static string upperCaseString(string strName)
        {
            return strName.ToUpper();
        }
    }
}

相关文章

最新评论