huozhehome键 把光标迅速移到最前面。end键是最后面
ctrl x剪切
- class Program
 -     {
 -         int res = 0;
 -         static void Main(string[] args)
 -         {
 -             Program c = new Program();
 -             int b = c.F(40);//C#对象对于引用非静态字段、方法或属性是必需的 
 -             //非静态类的方法不能直接调用,要创建类的对象
 -             Console.WriteLine(b);
 -         }
 -         public int F(int n)
 -         {
 -             if (n == 0)
 -                 return 2;
 -             if (n == 1)
 -                 return 3;
 -             res = F(n - 1) + F(n - 2);
 -             return res;
 -         }
 -     }
 
 
- static int F1(int n)
 -         {
 -             if (n == 1)
 -                 return 1;
 -             return n * F1(n - 1);
 -         }
 
 
或者这样,写成static模式就可以直接调用
-  class Program
 -     {
 -  
 -         static double Multiply(double param1,double param2)//函数体
 -         {
 -             return param1 * param2;
 -         }
 -  
 -         static double Divide(double param1,double param2)
 -         {
 -             return param1 / param2;
 -         }
 -  
 -         static void Test()
 -         {
 -             Console.WriteLine("Test");
 -         }
 -  
 -            delegate double MyDelegate(double param1, double param2);
 -         //定义一个委托
 -       // 委托关键字 返回值类型 委托名  (参数列表(名字无所谓,类型一样就行))
 -         delegate void MyDelegate2();//对应于test函数的委托声明
 -  
 -         static void Main(string[] args)
 -         {
 -             //Console.WriteLine(Multiply(2.3, 2));
 -             //Console.WriteLine(Divide(4.5, 3));
 -  
 -             MyDelegate delegate1;  //一个变量
 -             MyDelegate2 delegate2;
 -  
 -             delegate1 = Multiply;
 -             //指向了一个函数引用
 -             //用委托变量指向函数(所指函数的返回值类型与参数列表类型要于他一样)
 -             delegate1 = Divide;
 -  
 -             //delegate1 = Test;
 -             delegate2 = Test;
 -  
 -             Console.WriteLine(delegate1(2, 4));
 -             //这个委托就可以当作函数来使用了
 -             delegate2();
 -         }
 -     }
 
 
委托
-  delegate void OnDieDelegate();
 -         static void Play(OnDieDelegate onDie)//声明委托变量作为参数给play
 -         {
 -             Console.WriteLine("做任务");
 -             Console.WriteLine("玩家正在战斗");
 -             Console.WriteLine("死亡");
 -             //
 -             if (onDie != null)//判断委托参数是否为空,空会报错        
 -                 onDie();//预留一个委托,方便以后操作
 -         }
 -         static void ShowDieUI()
 -         {
 -             Console.WriteLine("显示游戏死亡后的UI");
 -             Console.WriteLine("返回首页UI");
 -         }
 -         static void Main(string[] args)
 -         {
 -             // A主角
 -             // BUI 菜单
 -             Play(null);
 -             //play(ShowDieUI())此时委托指向ShowDieUI函数,执行此函数
 -             //这样做的好处:可以灵活变化,给什么参数用什么方法
 -         }
 
 
                
                


















