日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
淺談C#Main方法傳遞參數(shù)的方式

Visual C# Main方法的傳參是什么情況呢?我們在學(xué)習(xí)C#的時候這是最基礎(chǔ)的問題,那么我們來看看具體的內(nèi)容是什么?C# Main方法傳參的問題到底是什么,希望對你學(xué)習(xí)C#有所幫助。

從策劃到設(shè)計制作,每一步都追求做到細膩,制作可持續(xù)發(fā)展的企業(yè)網(wǎng)站。為客戶提供成都網(wǎng)站設(shè)計、網(wǎng)站制作、外貿(mào)營銷網(wǎng)站建設(shè)、網(wǎng)站策劃、網(wǎng)頁設(shè)計、域名注冊、網(wǎng)頁空間、網(wǎng)絡(luò)營銷、VI設(shè)計、 網(wǎng)站改版、漏洞修補等服務(wù)。為客戶提供更好的一站式互聯(lián)網(wǎng)解決方案,以客戶的口碑塑造優(yōu)易品牌,攜手廣大客戶,共同發(fā)展進步。

每個C#應(yīng)用程序都必須包含一個Main方法,以指定從哪里開始執(zhí)行程序。在C#中,Main的首字母大寫,而Java 使用小寫的 main。

C# Main方法只能返回 int 或 void,并有一個代表命令行參數(shù)的可選字符串?dāng)?shù)組參數(shù):

 
 
  1. static int Main(string[] args)
  2. {
  3. //...
  4. return 0;
  5. }

對于包含任何傳入的命令行參數(shù)的字符串?dāng)?shù)組參數(shù),其工作方式與在 Java 中的工作方式相同。因此,args[0] 指定***個命令行參數(shù),args[1] 表示第二個參數(shù),依此類推。與 C++ 不同,args 數(shù)組不包含 EXE 文件名稱。

C# Main方法的傳參之其他方法

向某個方法傳遞參數(shù)時,可以通過值或通過引用傳遞參數(shù)。值參數(shù)簡單地采用任意變量的值,在方法中使用。因此,調(diào)用代碼中的變量值不受對方法內(nèi)的參數(shù)所執(zhí)行的操作的影響。

而引用參數(shù)指向在調(diào)用代碼中聲明的變量,因此,通過引用傳遞時方法將修改此變量的內(nèi)容。

通過引用傳遞

在 Java 和 C# 中,引用某個對象的方法參數(shù)總是通過引用傳遞,而基元數(shù)據(jù)類型參數(shù)則通過值傳遞。

在 C#中,所有參數(shù)在默認(rèn)情況下均通過值傳遞。若要通過引用傳遞,您需要指定關(guān)鍵字 ref 或 out。這兩個關(guān)鍵字的區(qū)別在于參數(shù)初始化的不同。ref 參數(shù)必須在使用前進行初始化,而 out 參數(shù)不必在傳遞前進行顯式初始化,并且它將忽略以前的任何值。

C# Main方法的傳參之ref關(guān)鍵字

如果想讓被調(diào)用方法***更改用作參數(shù)的變量的值時,請在參數(shù)中指定 ref 關(guān)鍵字。這種做法傳遞的不是調(diào)用中所使用的變量的值,而是對此變量本身的引用。方法隨后會處理此引用,因此在方法執(zhí)行期間對此參數(shù)所做的更改將保存到用作此方法的參數(shù)的原始變量中。

下面的代碼在 Add 方法中演示了此功能,其中的第二個 int 參數(shù)就是使用 ref 關(guān)鍵字通過引用傳遞的:

 
 
  1. class TestRef
  2. {
  3. private static void Add(int i, ref int result)
  4. {
  5. result += i;
  6. return;
  7. }
  8. static void Main()
  9. {
  10. int total = 20;
  11. System.Console.WriteLine(
  12. "Original value of 'total': {0}", total);
  13. Add(10, ref total);
  14. System.Console.WriteLine(
  15. "Value after calling Add(): {0}", total);
  16. }
  17. }

此示例很簡單,其輸出表明對結(jié)果參數(shù)所做的更改已在 Add 方法調(diào)用所使用的 total 變量中體現(xiàn)出來:

 
 
  1. Original value of 'total': 20 
  2. Value after calling Add(): 30 

這是因為結(jié)果參數(shù)引用了調(diào)用代碼中 total 變量所占用的實際內(nèi)存位置。類的屬性不是變量,因此不能直接用作 ref 參數(shù)。

調(diào)用方法時,ref 關(guān)鍵字必須位于參數(shù)前面,并且必須位于方法聲明之中。

C# Main方法的傳參之out關(guān)鍵字

out關(guān)鍵字的作用與 ref 關(guān)鍵字非常相似,并且對使用 out 關(guān)鍵字聲明的參數(shù)所做的更改將在方法之外體現(xiàn)出來。out 關(guān)鍵字與 ref 關(guān)鍵字有兩點不同:

(1) 方法中將忽略 out 參數(shù)的任何初始值;

(2) 必須在方法調(diào)用過程中為 out 參數(shù)賦值:

 
 
  1. class TestOut
  2. {
  3. private static void Add(int i, int j, out int result)
  4. {
  5. // The following line would cause a compile error:
  6. // System.Console.WriteLine(
  7. "Initial value inside method: {0}", result);
  8. result = i + j;
  9. return;
  10. }
  11. static void Main()
  12. {
  13. int total = 20;
  14. System.Console.WriteLine(
  15. "Original value of 'total': {0}", total);
  16. Add(33, 77, out total);
  17. System.Console.WriteLine(
  18. "Value after calling Add(): {0}", total);
  19. }
  20. }

在此示例中,Add 方法的第三個參數(shù)就是使用 out 關(guān)鍵字進行聲明的,并且在調(diào)用此方法時還需要對該參數(shù)使用 out 關(guān)鍵字。輸出將為:

 
 
  1. Original value of 'total': 20 
  2. Value after calling Add(): 110 

總而言之,如果想讓方法修改現(xiàn)有變量,請使用 ref 關(guān)鍵字;若要返回在方法內(nèi)生成的值,請使用 out 關(guān)鍵字。當(dāng)方法為調(diào)用代碼生成多個結(jié)果值時,通常將 out 關(guān)鍵字與方法的返回值結(jié)合起來使用。

C# Main方法的傳參的問題就向你介紹到這里,希望對你了解和學(xué)習(xí)C# Main方法的傳參有所幫助。


當(dāng)前題目:淺談C#Main方法傳遞參數(shù)的方式
當(dāng)前鏈接:http://m.5511xx.com/article/copspos.html