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

簡(jiǎn)單介紹C#方法參數(shù)

開(kāi)發(fā) 后端
這里簡(jiǎn)單介紹C#方法參數(shù),一個(gè)輸出參數(shù)僅用于從方法傳遞回一個(gè)結(jié)果。它和引用參數(shù)的另一個(gè)區(qū)別在于:調(diào)用者不必先初始化變量才調(diào)用方法。

C#方法參數(shù)

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

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

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

  1. using System;  
  2. public class SquareSample  
  3. {  
  4. public int CalcSquare(int nSideLength)  
  5. {  
  6. return nSideLength*nSideLength;  
  7. }  
  8. }  
  9. class SquareApp  
  10. {  
  11. public static void Main()  
  12. {  
  13. SquareSample sq = new SquareSample();  
  14. Console.WriteLine(sq.CalcSquare(25)。ToString());  
  15. }  

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

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

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

2.引用參數(shù)

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

因?yàn)槟銈鬟f了一個(gè)變量給該方法(不僅僅是它的值),變量必須被初始化。否則,編譯器會(huì)報(bào)警。顯示如何用一個(gè)引用參數(shù)建立一個(gè)方法。

  1. // class SquareSample  
  2. using System;  
  3. public class SquareSample  
  4. {  
  5. public void CalcSquare(ref int nOne4All)  
  6. {  
  7. nOne4All *= nOne4All;  
  8. }  
  9. }  
  10. class SquareApp  
  11. {  
  12. public static void Main()  
  13. {  
  14. SquareSample sq = new SquareSample();  
  15. int nSquaredRef = 20; // 一定要初始化  
  16. sq.CalcSquare(ref nSquaredRef);  
  17. Console.WriteLine(nSquaredRef.ToString());  
  18. }  

正如所看到的,所有你要做的就是給定義和調(diào)用都加上ref限定符。因?yàn)樽兞客ㄟ^(guò)引用傳遞,你可以用它來(lái)計(jì)算出結(jié)果

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

3.輸出參數(shù)

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

  1. using System;  
  2. public class SquareSample  
  3. {  
  4. public void CalcSquare(int nSideLength, out int nSquared)  
  5. {  
  6. nSquared = nSideLength * nSideLength;  
  7. }  
  8. }  
  9. class SquareApp  
  10. {  
  11. public static void Main()  
  12. {  
  13. SquareSample sq = new SquareSample();  
  14. int nSquared; // 不必初始化  
  15. sq.CalcSquare(15, out nSquared);  
  16. Console.WriteLine(nSquared.ToString());  
  17. }  

以上介紹C#方法參數(shù)

【編輯推薦】

  1. 介紹Mono C#編譯器
  2. C#運(yùn)算符重載學(xué)習(xí)總結(jié)
  3. 概述C#語(yǔ)言的結(jié)構(gòu)體
  4. C#遺傳算法學(xué)習(xí)筆記
  5. 討論C#分部方法
責(zé)任編輯:佚名 來(lái)源: 51CTO.com
相關(guān)推薦

2009-08-20 16:25:59

C# 匿名方法

2009-08-25 09:58:56

C#參數(shù)不同點(diǎn)

2009-08-21 17:55:52

C#復(fù)合控件

2009-08-07 17:41:40

C#預(yù)處理

2009-08-27 10:19:22

C#匿名類型

2009-08-06 14:53:41

C# User類

2009-08-18 17:37:57

C#固定指針

2009-08-10 16:19:37

C#冒泡排序

2009-08-13 17:36:54

編譯C#代碼

2009-08-06 18:15:13

C# SQL Serv

2009-09-01 16:19:57

C# new()約束

2009-09-03 09:40:57

C#創(chuàng)建表單

2009-08-25 13:38:35

C# Timer組件

2009-08-07 17:12:07

C# DLL函數(shù)

2009-08-03 17:51:43

C#引用類型

2009-08-14 16:46:44

C#元數(shù)據(jù)

2009-08-25 14:42:41

由C++轉(zhuǎn)向C#

2009-08-07 09:29:22

C#數(shù)組C#函數(shù)

2009-08-24 17:58:19

C#讀取XML文件

2009-09-07 10:48:53

C#數(shù)據(jù)類型
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 伊人免费网 | 91精品国产777在线观看 | 国产免费xxx | jlzzjlzz国产精品久久 | 久免费视频 | 蜜月va乱码一区二区三区 | 欧洲精品久久久久毛片完整版 | 欧美一区二区综合 | 亚洲一区二区三区在线 | 日韩精品一区二 | 91亚洲免费 | av黄色在线 | 欧美亚洲另类在线 | 美女亚洲一区 | 亚洲人成人一区二区在线观看 | 一区在线观看 | 午夜精品一区二区三区三上悠亚 | 中文字幕免费观看 | 亚洲精品9999 | 久久国产激情视频 | av天天看| 热99视频 | 国产黄色精品 | 午夜视频在线免费观看 | 精品久久久久久久久亚洲 | 国产激情在线 | 久久99精品久久久久久 | 精品久久国产 | 2019天天操 | 伦理一区二区 | 日韩福利视频 | 久久网一区二区 | 久久久黑人 | 精品国产aⅴ | 中文字幕日韩一区 | www.国产.com | 免费一区二区在线观看 | 91美女在线观看 | 99在线免费视频 | 国产一区久久久 | 欧美激情一区二区 |