一、簡介 方法可以稱為函數,函數又可以稱為方法,方法主要的作用是將一堆代碼進行重用的一種機制,避免太多的冗餘的代碼,還有方便後期維護。 二、語法 函數的語法: 描述: public:訪問修飾符,公開的; static:靜態的; 返回值類型:比如int 、string 、double等的類型,如果不寫 ...
一、簡介
方法可以稱為函數,函數又可以稱為方法,方法主要的作用是將一堆代碼進行重用的一種機制,避免太多的冗餘的代碼,還有方便後期維護。
二、語法
函數的語法:
public static 返回值類型 方法名(參數列表) { 方法體; }
描述:
public:訪問修飾符,公開的;
static:靜態的;
返回值類型:比如int 、string 、double等的類型,如果不寫返回值類型,就寫void;
方法名:方法名的命名規範Pascal,每個單詞的首字母大寫,其餘字母的小寫;
參數列表:完成這個方法所必須要提供這個方法條件,如果沒有參數,小括弧不能省略。
方法的調用:
方法寫好後,如果想要執行,必須再Main()函數(主函數)中調用。
方法調用的語法:
類名.方法名(參數名);
註意:在某些情況下,類名是可以省略的,如果你寫的方法和Main()函數在同一個類中,類名可以省略。
三、實例
1.寫簡單的游戲的練習:閃爍 播放一段特殊的背景音樂 屏幕停止
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(); } } }
2) 我們把上面寫這些冗餘的代碼封裝成方法,不停去調用這個方法
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(); } /// <summary> /// 正常玩游戲 /// </summary> 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) 傳遞參數;
2) 使用靜態欄位來模擬全局的變數;
如果調用者想要得到被調用著的值:
1)返回值
實例
如圖所示,被調用者想要得到調用者的,使用傳遞參數
如圖所示,被調用者想要得到調用者的值,使用靜態欄位來模擬全局的變數
如圖所示,如果調用者想要得到被調用著的值,使用返回值