引言
參數(shù),也叫參變量,是一個(gè)變量。在方法簽名中隨處可見,實(shí)現(xiàn)了不同方法間對于數(shù)據(jù)的寄雁傳書,基本上充斥在代碼的各個(gè)角落里。
在方法簽名或者原型中,方法名稱后的括號包含方法的參數(shù)及其類型的完整列表。參數(shù)聲明指定參數(shù)中存儲的值的類型、大小和標(biāo)識符。
然而小小參數(shù)的背后其實(shí)也是有著大大的學(xué)問,所以本篇博文,您可以和博主一起把C#里面各式各樣的參數(shù)復(fù)習(xí)一遍。
我們先簡單回顧一下各種各樣的參數(shù)概念,對不同類型參數(shù)的使用場景有一個(gè)了解,再慢慢深入探討參數(shù)的傳遞,內(nèi)存堆棧分布,抽絲剝繭,步步為營,帶著思考由淺入深的去閱讀本文。
形參和實(shí)參
形參全稱為“形式參數(shù)”,由于它不是實(shí)際存在變量,所以又稱虛擬變量。
形參是在定義方法簽名的時(shí)候使用的參數(shù),目的是用來接收調(diào)用該方法時(shí)傳遞的參數(shù)(值),它的作用是實(shí)現(xiàn)主調(diào)方法與被調(diào)方法之間的聯(lián)系?! ?br/>形參只在方法內(nèi)部有效,方法調(diào)用結(jié)束返回主調(diào)用方法后則不能再使用該形參變量。
形參(自身也是變量)和局部變量有所區(qū)別,且在方法內(nèi)部(作用域內(nèi))不允許存在一個(gè)同名的局部變量,哪怕它們類型是相同的。
//oldValue、parameter1、optionalParam1、optionalParam2就是Change方法的形參//方法簽名如果有多個(gè)形參,則多個(gè)形參用逗號隔開private static void Change<T>(T oldValue, object parameter1, object optionalParam1 = null, object optionalParam2 = null) { &nbs