c# 委托测试

--学习委托
namespace ConsoleApplication1
{
    //声明委托类型  
    //委托返回类型为string
    //委托参数类型为string
    //委托返回类型及参数类型要与委托调用的方法相匹配,即与方法返回类型与参数类型匹配
    public   delegate string dgt_typ(string str);
    public class Testdelegate
    {
        public static string Replacespacestr(string str)
        {
            string temp="";
            char[] c1 = str.ToCharArray();
            foreach(char x in c1)
            {
                if (x!=' ')
                {
                    temp+=x;
                }
            }
            return temp;
        }

        public static string Reversestr(string str)
        {
            string temp = "";
            for (int i = str.Length-1; i >= 0;i-- )
            {
                temp += str[i];
            }
            return temp;
        }
    }
}



class Program
    {

        static void Main(string[] args)
        {
           //定义一个委托类型的变量,在构造函数里面调用委托要调用的方法,且方法不用带括号()
           dgt_typ mydelegate = new dgt_typ(Testdelegate.Replacespacestr);
           
           //通过上述的委托类型变量来真正调用方法,作具体的工作,前面的声明委托类型及定义委托类型变量全是准备工作
           //this is a big one对应委托调用方法的方法参数的具体值
           string mystr=mydelegate("this is a big one");
           Console.WriteLine(mystr);
           Console.ReadKey();
           mydelegate = Testdelegate.Reversestr;
           string rev=mydelegate(mystr);
           Console.WriteLine(rev);
           Console.ReadKey();
        }
    }
请使用浏览器的分享功能分享到微信等