一、简介
方法可以称为函数,函数又可以称为方法,方法主要的作用是将一堆代码进行重用的一种机制,避免太多的冗余的代码,还有方便后期维护。
二、语法
函数的语法:
1public static 返回值类型 方法名(参数列表) 2{ 3 4 方法体; 5}
描述:
public:访问修饰符,公开的;
static:静态的;
返回值类型:比如int 、string 、double等的类型,如果不写返回值类型,就写void;
方法名:方法名的命名规范Pascal,每个单词的首字母大写,其余字母的小写;
参数列表:完成这个方法所必须要提供这个方法条件,如果没有参数,小括号不能省略。
方法的调用:
方法写好后,如果想要执行,必须再Main()函数(主函数)中调用。
方法调用的语法:
类名.方法名(参数名);
**注意:**在某些情况下,类名是可以省略的,如果你写的方法和Main()函数在同一个类中,类名可以省略。
三、实例
1.写简单的游戏的练习:闪烁 播放一段特殊的背景音乐 屏幕停止
-
用之前学过的Console.WriteLine写出
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;
namespace _01方法 { class Program { static void Main(string[] args) { #region //闪烁 播放一段特殊的背景音乐 屏幕停止 Console.WriteLine("超级玛丽走呀走,跳呀跳,顶呀顶"); Console.WriteLine("超级玛丽走呀走,跳呀跳,顶呀顶"); Console.WriteLine("超级玛丽走呀走,跳呀跳,顶呀顶"); Console.WriteLine("超级玛丽走呀走,跳呀跳,顶呀顶"); Console.WriteLine("超级玛丽走呀走,跳呀跳,顶呀顶"); Console.WriteLine("突然,顶到了一个无敌"); Console.WriteLine("屏幕停止"); Console.WriteLine("超级玛丽走呀走,跳呀跳,顶呀顶"); Console.WriteLine("超级玛丽走呀走,跳呀跳,顶呀顶"); Console.WriteLine("超级玛丽走呀走,跳呀跳,顶呀顶"); Console.WriteLine("突然,顶到了一个无敌"); Console.WriteLine("屏幕开始闪烁"); Console.WriteLine("播放无限音乐"); #endregion Console.ReadKey(); }
} } -
我们把上面写这些冗余的代码封装成方法,不停去调用这个方法
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;
namespace _01方法 { class Program { static void Main(string[] args) {
1 Program.PlayGame(); 2 Program.WuDi(); 3 Program.PlayGame(); 4 Console.ReadKey(); 5 } 6 7 /// <summary> 8 /// 正常玩游戏 9 /// </summary> 10 public static void PlayGame() 11 { 12 Console.WriteLine("超级玛丽走呀走,跳呀跳,顶呀顶"); 13 Console.WriteLine("超级玛丽走呀走,跳呀跳,顶呀顶"); 14 Console.WriteLine("超级玛丽走呀走,跳呀跳,顶呀顶"); 15 Console.WriteLine("超级玛丽走呀走,跳呀跳,顶呀顶"); 16 Console.WriteLine("超级玛丽走呀走,跳呀跳,顶呀顶"); 17 Console.WriteLine("突然,顶到了一个无敌"); 18 Console.WriteLine("屏幕停止"); 19 } 20 21 public static void WuDi() 22 { 23 Console.WriteLine("超级玛丽走呀走,跳呀跳,顶呀顶"); 24 Console.WriteLine("超级玛丽走呀走,跳呀跳,顶呀顶"); 25 Console.WriteLine("超级玛丽走呀走,跳呀跳,顶呀顶"); 26 Console.WriteLine("突然,顶到了一个无敌"); 27 Console.WriteLine("屏幕开始闪烁"); 28 Console.WriteLine("播放无限音乐"); 29 } 30 }}
2.计算两个整数之间的最大值
1using System; 2using System.Collections.Generic; 3using System.Linq; 4using System.Text; 5using System.Threading.Tasks; 6 7namespace _02方法练习 8{ 9 class Program 10 { 11 static void Main(string[] args) 12 { 13 //计算两个整数之间的最大值 14 int max= Program.GetMax(1, 2); 15 Console.WriteLine(max); 16 Console.ReadKey(); 17 } 18 /// <summary> 19 /// 计算两个整数之间的最大的值并且将最大值返回 20 /// </summary> 21 /// <param name="n1">第一个整数</param> 22 /// <param name="n2">第二整数</param> 23 /// <returns>将最大值返回</returns> 24 public static int GetMax(int n1,int n2) 25 { 26 //三元表示式 27 return n1 > n2 ? n1 : n2; 28 } 29 } 30}
四、renturn作用
1.在方法中返回要返回的值
2.立即退出本次方法
五、总结
如图所示:该方法报错,Test()函数想要调用Main()函数的a值,但是程序不能调用,有两种解决方法允许调用,如下:

我们在Main()函数中,调用Test()函数,我们管Main函数称为调用者,被调用者的Test()函数被称为被调用者:
如果被调用者想要得到调用者的值:
-
传递参数;
-
使用静态字段来模拟全局的变量;
如果调用者想要得到被调用着的值:
1)返回值
实例
如图所示,被调用者想要得到调用者的,使用传递参数

如图所示,被调用者想要得到调用者的值,使用静态字段来模拟全局的变量

如图所示,如果调用者想要得到被调用着的值,使用返回值
