年關(guān)將近,整個(gè)人已經(jīng)沒(méi)有了工作和寫(xiě)作的激情,估計(jì)這個(gè)時(shí)候很多人跟我差不多,該相親的相親,該聚會(huì)喝酒的聚會(huì)喝酒,總之就是沒(méi)有了干活的心思(我有很多想法,但就是叫不動(dòng)我的手腳,所以我只能看著別人在做我想做的事,吃我想吃的東西。)。本人由上個(gè)月的每周四五篇,到現(xiàn)在的文章縮短到每周一篇,說(shuō)個(gè)實(shí)話(huà),現(xiàn)在的一篇也有不想寫(xiě)的心思了(這一篇還是咬著牙寫(xiě)的,感覺(jué)實(shí)在是寫(xiě)不動(dòng)了,寫(xiě)博客太折騰人了,誰(shuí)寫(xiě)誰(shuí)知道?。。?,不過(guò)還是希望寫(xiě)出來(lái)可以幫到大家,如有寫(xiě)的不足的地方,還望大家多多指正,知識(shí)在于總結(jié)和反思,對(duì)別人也對(duì)自己都是一個(gè)提高。
這里先來(lái)一段廢話(huà),緩和一下氣氛,免得讓大家很尷尬(太直接了還是不太好,總不能見(jiàn)到喜歡的女生就表白吧,還得多多的相處,讓人覺(jué)得你穩(wěn)重有深度。),現(xiàn)在進(jìn)入我們今天的博客內(nèi)容,那就是.NET的參數(shù)用法。因?yàn)樵?NET的參數(shù)用法和約束特別多,對(duì)于很多初學(xué)者來(lái)說(shuō),這樣繁多的參數(shù)用戶(hù)簡(jiǎn)直就是跟扯淡一樣,即使對(duì)于是擁有豐富經(jīng)驗(yàn)的開(kāi)發(fā)者來(lái)說(shuō),也未必能夠很輕松使用所有的參數(shù)用法和選擇合適的參數(shù)類(lèi)型。談到參數(shù),估計(jì)很多人就只是想著我們?cè)谝话愕姆椒ㄕ{(diào)用中使用的那樣,如string,int,object等等類(lèi)型,更多的也就沒(méi)有了印象,就是知道,也就是在遇到了再去查看一下,這樣其實(shí)也沒(méi)錯(cuò),畢竟不能話(huà)費(fèi)過(guò)多的時(shí)間用在哪些不常用的知識(shí)上,但是我個(gè)人覺(jué)得對(duì)于知識(shí)還是需要提前有一個(gè)全面的學(xué)習(xí),可能具體的細(xì)節(jié)不能很好的把握,但是對(duì)于全局的概念還是得有一個(gè)整體的學(xué)習(xí)。
下面就簡(jiǎn)單的介紹一下.NET的一些常用參數(shù)用法,如有不足還望指正,也歡迎大家在下面留言討論,分享自己的見(jiàn)解。
一.DotNet參數(shù)概述:
.NET中參數(shù)(形式參數(shù))變量是方法或索引器聲明的一部分,而實(shí)參是調(diào)用方法或索引器時(shí)使用的表達(dá)式。
在CLR中,默認(rèn)的情況下所有的方法參數(shù)都是傳值的。在傳遞引用類(lèi)型的對(duì)象時(shí),對(duì)一個(gè)對(duì)象的引用會(huì)傳遞給方法。這里的船引用本身是以傳值的方式傳給方法的。這也意味著方法能夠修改對(duì)象,而調(diào)用者能看到這些修改。對(duì)于值類(lèi)型的實(shí)例,傳給方法的實(shí)例的一個(gè)副本。意味著方法將獲得它專(zhuān)用的一個(gè)值類(lèi)型實(shí)例副本,調(diào)用者中的實(shí)例不受影響。
在CLR中允許以傳引用而非傳值的方式傳遞參數(shù),在C#中使用out和ref來(lái)實(shí)現(xiàn)傳遞引用的方