C#Main方法傳遞參數(shù)的方式有哪些

本篇內(nèi)容介紹了“C# Main方法傳遞參數(shù)的方式有哪些”的有關(guān)知識(shí),在實(shí)際案例的操作過(guò)程中,不少人都會(huì)遇到這樣的困境,接下來(lái)就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都網(wǎng)站制作、成都網(wǎng)站建設(shè)、武宣網(wǎng)絡(luò)推廣、微信小程序定制開(kāi)發(fā)、武宣網(wǎng)絡(luò)營(yíng)銷、武宣企業(yè)策劃、武宣品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠(chéng)為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);創(chuàng)新互聯(lián)公司為所有大學(xué)生創(chuàng)業(yè)者提供武宣建站搭建服務(wù),24小時(shí)服務(wù)熱線:18980820575,官方網(wǎng)址:bm7419.com

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

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

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

static int Main(string[] args)  {  //...  return 0;  }

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

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

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

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

通過(guò)引用傳遞

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

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

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

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

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

class TestRef  {  private static void Add(int i, ref int result)  {  result += i;  return;  }   static void Main()  {  int total = 20;  System.Console.WriteLine(  "Original value of 'total': {0}", total);   Add(10, ref total);  System.Console.WriteLine(  "Value after calling Add(): {0}", total);  }  }

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

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

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

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

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

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

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

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

class TestOut  {  private static void Add(int i, int j, out int result)  {  // The following line would cause a compile error:  // System.Console.WriteLine(  "Initial value inside method: {0}", result);   result = i + j;  return;  }   static void Main()  {  int total = 20;  System.Console.WriteLine(  "Original value of 'total': {0}", total);   Add(33, 77, out total);  System.Console.WriteLine(  "Value after calling Add(): {0}", total);  }  }

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

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

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

“C# Main方法傳遞參數(shù)的方式有哪些”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!

網(wǎng)站標(biāo)題:C#Main方法傳遞參數(shù)的方式有哪些
網(wǎng)頁(yè)鏈接:http://bm7419.com/article44/pceehe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站品牌網(wǎng)站制作、靜態(tài)網(wǎng)站、搜索引擎優(yōu)化、全網(wǎng)營(yíng)銷推廣定制開(kāi)發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站優(yōu)化排名