一、简介
方法可以称为函数,函数又可以称为方法,方法主要的作用是将一堆代码进行重用的一种机制,避免太多的冗余的代码,还有方便后期维护。
二、语法
函数的语法:
public static 返回值类型 方法名(参数列表)
{
方法体;
}
描述:
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) {
Program.PlayGame(); Program.WuDi(); Program.PlayGame(); Console.ReadKey(); } ////// 正常玩游戏 /// public static void PlayGame() { Console.WriteLine("超级玛丽走呀走,跳呀跳,顶呀顶"); Console.WriteLine("超级玛丽走呀走,跳呀跳,顶呀顶"); Console.WriteLine("超级玛丽走呀走,跳呀跳,顶呀顶"); Console.WriteLine("超级玛丽走呀走,跳呀跳,顶呀顶"); Console.WriteLine("超级玛丽走呀走,跳呀跳,顶呀顶"); Console.WriteLine("突然,顶到了一个无敌"); Console.WriteLine("屏幕停止"); } public static void WuDi() { Console.WriteLine("超级玛丽走呀走,跳呀跳,顶呀顶"); Console.WriteLine("超级玛丽走呀走,跳呀跳,顶呀顶"); Console.WriteLine("超级玛丽走呀走,跳呀跳,顶呀顶"); Console.WriteLine("突然,顶到了一个无敌"); Console.WriteLine("屏幕开始闪烁"); Console.WriteLine("播放无限音乐"); } } }
2.计算两个整数之间的最大值
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace _02方法练习
{
class Program
{
static void Main(string[] args)
{
//计算两个整数之间的最大值
int max= Program.GetMax(1, 2);
Console.WriteLine(max);
Console.ReadKey();
}
/// <summary>
/// 计算两个整数之间的最大的值并且将最大值返回
/// </summary>
/// <param name="n1">第一个整数</param>
/// <param name="n2">第二整数</param>
/// <returns>将最大值返回</returns>
public static int GetMax(int n1,int n2)
{
//三元表示式
return n1 > n2 ? n1 : n2;
}
}
}
四、renturn作用
1.在方法中返回要返回的值
2.立即退出本次方法
五、总结
如图所示:该方法报错,Test()函数想要调用Main()函数的a值,但是程序不能调用,有两种解决方法允许调用,如下:
我们在Main()函数中,调用Test()函数,我们管Main函数称为调用者,被调用者的Test()函数被称为被调用者:
如果被调用者想要得到调用者的值:
传递参数;
使用静态字段来模拟全局的变量;
如果调用者想要得到被调用着的值:
1)返回值
实例
如图所示,被调用者想要得到调用者的,使用传递参数
如图所示,被调用者想要得到调用者的值,使用静态字段来模拟全局的变量
如图所示,如果调用者想要得到被调用着的值,使用返回值