一、簡介
方法可以稱為函式,函式又可以稱為方法,方法主要的作用是將一堆代碼進行重用的一種機制,避免太多的冗余的代碼,還有方便后期維護,
二、語法
函式的語法:
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)回傳值
實體
如圖所示,被呼叫者想要得到呼叫者的,使用傳遞引數

如圖所示,被呼叫者想要得到呼叫者的值,使用靜態欄位來模擬全域的變數

如圖所示,如果呼叫者想要得到被呼叫著的值,使用回傳值

轉載請註明出處,本文鏈接:https://www.uj5u.com/net/110577.html
標籤:C#
上一篇:c# 郵件發送
下一篇:并行編程和任務(一)
