溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

C#中方法參數(shù)怎么用

發(fā)布時間:2021-12-01 09:58:06 來源:億速云 閱讀:116 作者:小新 欄目:編程語言

小編給大家分享一下C#中方法參數(shù)怎么用,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

C#方法參數(shù)

因方法要處理更改數(shù)值,你多多少少要傳遞值給方法,并從方法獲得返回值。以下三個部分涉及到C#方法參數(shù)的三種參數(shù)。
◆輸入?yún)?shù)
◆引用參數(shù)
◆輸出參數(shù)

1.輸入?yún)?shù)

你早已在例子中見過的一個參數(shù)就是輸入?yún)?shù)。你用一個輸入?yún)?shù)通過值傳遞一個變量給一個方法——方法的變量被調(diào)用者傳遞進來的值的一個拷貝初始化。示范輸入?yún)?shù)的使用。

using System;  public class SquareSample  {  public int CalcSquare(int nSideLength)  {  return nSideLength*nSideLength;  }  }  class SquareApp  {  public static void Main()  {  SquareSample sq = new SquareSample();  Console.WriteLine(sq.CalcSquare(25)。ToString());  }  }

輸入?yún)?shù)按C/C++程序員早已習(xí)慣的工作方式工作。如果你來自VB,請注意沒有能被編譯器處理的隱式ByVal或ByRef——如果沒有設(shè)定,參數(shù)總是用值傳遞。

這點似乎與我前面所陳述的有沖突:對于一些變量類型,用值傳遞實際上意味著用引用傳遞。迷惑嗎? 一點背景知識也不需要:COM中的東西就是接口,每一個類可以擁有一個或多個接口。一個接口只不過是一組函數(shù)指針,它不包含數(shù)據(jù)。

重復(fù)該數(shù)組會浪費很多內(nèi)存資源;所以,僅開始地址被拷貝給方法,它作為調(diào)用者,仍然指向接口的相同指針。那就是為什么對象用值傳遞一個引用。

2.引用參數(shù)

盡管可以利用輸入?yún)?shù)和返回值建立很多方法,但你一想到要傳遞值并原地修改它(也就是在相同的內(nèi)存位置),就沒有那么好運了。這里用引用參數(shù)就很方便。

因為你傳遞了一個變量給該方法(不僅僅是它的值),變量必須被初始化。否則,編譯器會報警。顯示如何用一個引用參數(shù)建立一個方法。

// class SquareSample  using System;  public class SquareSample  {  public void CalcSquare(ref int nOne4All)  {  nOne4All *= nOne4All;  }  }  class SquareApp  {  public static void Main()  {  SquareSample sq = new SquareSample();  int nSquaredRef = 20; // 一定要初始化  sq.CalcSquare(ref nSquaredRef);  Console.WriteLine(nSquaredRef.ToString());  }  }

正如所看到的,所有你要做的就是給定義和調(diào)用都加上ref限定符。因為變量通過引用傳遞,你可以用它來計算出結(jié)果

并傳回該結(jié)果。但是,在現(xiàn)實的應(yīng)用程序中,我強烈建議要用兩個變量,一個輸入?yún)?shù)和一個引用參數(shù)。

3.輸出參數(shù)

傳遞參數(shù)的第三種選擇就是把它設(shè)作一個輸出參數(shù)。正如該名字所暗示,一個輸出參數(shù)僅用于從方法傳遞回一個結(jié)果。它和引用參數(shù)的另一個區(qū)別在于:調(diào)用者不必先初始化變量才調(diào)用方法。

using System;  public class SquareSample  {  public void CalcSquare(int nSideLength, out int nSquared)  {  nSquared = nSideLength * nSideLength;  }  }  class SquareApp  {  public static void Main()  {  SquareSample sq = new SquareSample();  int nSquared; // 不必初始化  sq.CalcSquare(15, out nSquared);  Console.WriteLine(nSquared.ToString());  }  }

以上是“C#中方法參數(shù)怎么用”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI