成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

淺談C# Main方法傳遞參數的方式

開發 后端
C# Main方法的傳遞參數的方法是什么呢?我們在學習C#最初的時候這些基本的問題我們應該搞清楚,那么本文就向你介紹具體的實現以及方法具體介紹。

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

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

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

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

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

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

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

而引用參數指向在調用代碼中聲明的變量,因此,通過引用傳遞時方法將修改此變量的內容。

通過引用傳遞

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

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

C# Main方法的傳參之ref關鍵字

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

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

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

此示例很簡單,其輸出表明對結果參數所做的更改已在 Add 方法調用所使用的 total 變量中體現出來:

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

這是因為結果參數引用了調用代碼中 total 變量所占用的實際內存位置。類的屬性不是變量,因此不能直接用作 ref 參數。

調用方法時,ref 關鍵字必須位于參數前面,并且必須位于方法聲明之中。

C# Main方法的傳參之out關鍵字

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

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

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

  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.  
  9. result = i + j;  
  10. return;  
  11. }  
  12.  
  13. static void Main()  
  14. {  
  15. int total = 20;  
  16. System.Console.WriteLine(  
  17. "Original value of 'total': {0}", total);  
  18.  
  19. Add(33, 77, out total);  
  20. System.Console.WriteLine(  
  21. "Value after calling Add(): {0}", total);  
  22. }  
  23. }  

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

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

總而言之,如果想讓方法修改現有變量,請使用 ref 關鍵字;若要返回在方法內生成的值,請使用 out 關鍵字。當方法為調用代碼生成多個結果值時,通常將 out 關鍵字與方法的返回值結合起來使用。

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

【編輯推薦】

  1. C# Main函數概念以及應用祥解
  2. C# Main方法概述及特點解析
  3. C# main函數應用實例詳解
  4. 淺析C# Main參數輸入問題
  5. 詳解C# Main方法返回值
責任編輯:仲衡 來源: MSDN
相關推薦

2009-08-27 17:47:18

C#匿名方法作為參數傳

2009-09-04 11:00:13

通過C#引用傳遞

2009-08-14 17:58:05

C#接口方法

2009-08-25 16:16:43

C# oledbcon

2009-09-04 18:16:19

C# Main參數C# Main

2009-08-13 18:36:29

C#數組工作方式

2009-08-31 16:51:11

C# Main()方法

2009-08-28 15:57:56

C#線程傳遞參數

2009-06-24 10:49:16

JavaScript

2011-04-08 09:52:44

C++C#DLL

2009-08-21 10:28:21

C#異步方法C#同步方法

2009-08-28 12:25:58

C#靜態方法

2023-11-17 14:10:08

C++函數

2009-09-07 03:07:11

C# Main方法

2011-09-21 10:56:31

C#結構

2009-08-20 18:30:33

C# ReaderWr

2009-05-26 16:33:48

PythonC#Run As

2009-08-14 17:27:56

C#方法參數

2009-08-14 10:51:43

2009-09-04 18:00:54

C# Main方法
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产美女久久久 | 毛片在线免费播放 | 国产欧美一区二区三区在线看 | 国产99热| 国产1区2区3区 | 成人精品一区二区三区 | 男女黄网站 | 在线播放国产一区二区三区 | 亚洲国产中文在线 | 成人国产精品入口免费视频 | 中文字幕国产在线 | 国产精品久久久久久久久久久久久久 | 毛片一级片| 日韩欧美国产电影 | 国产乱码精品一品二品 | 日韩一二三区视频 | 中文字幕一区二区三区四区五区 | 亚洲精品视频在线看 | 国产高清视频一区 | 91精品一区二区三区久久久久久 | 爱爱爱av | 成人国产精品入口免费视频 | 久久日韩精品 | 美女三区 | 精品在线播放 | 亚洲国产精品久久久久 | 综合婷婷 | 欧美成人精品一区二区男人看 | 97超碰成人| 亚洲视频二区 | 久久91视频 | 99精品国产一区二区三区 | 天堂网av在线 | 亚洲色综合| 国产一区免费 | 香蕉久久网 | 国产精品美女久久久 | 欧美三区 | 国产在线观看免费 | 国产一区二区三区免费观看视频 | 日韩精品一区二区三区在线播放 |