淺析C# 函數(shù)的傳值與傳址
傳值就是將實參的值傳到所調(diào)用的函數(shù)里面,實參的值并沒有發(fā)生變化,默認(rèn)傳值的有int型,浮點型,bool型,char字符型,結(jié)構(gòu)體等等。
傳址就是將地址傳到所調(diào)用的函數(shù)里面操作,實參的值也會跟著變化,傳址的有數(shù)組和字符串string。
上面說的就牽扯到數(shù)據(jù)的分類,分為值類型和引用類型,值類型的就是傳值的那種,引用類型包括字符串類型,數(shù)組和對象,字符串類型特殊,主要是因為字符串實際上是一個字符char[]數(shù)組,它在修改的時候并不是直接修改,而是新開辟了一個存儲空間也就是建立了一個新的字符串,所以它在調(diào)用、賦值的using System;
using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Collections; namespace _1019傳值傳址 { class Program { //一、傳值-將變量的值傳入函數(shù)中 public void Qiuhe(int a) { int b = a + 10; Console.WriteLine(b); }////寫個函數(shù),傳值進(jìn)去,傳姓名、性別、年齡進(jìn)去//將年齡+10歲, //return反饋回來 split分割 public string Fanhui(string name, string sex, int age) { age += 10; return name + "-" + sex + "-" + age; } //三、out傳址-僅僅將變量名帶入函數(shù),不考慮參數(shù)值,out自動默認(rèn)return public void Fanhui1(int a,out int b) { b = a + 10; } static void Main(string[] args) { //調(diào)用函數(shù)之前需要先初始化、實例化該Class類 Program Hanshu = new Program(); //一、傳值-將變量的值傳入函數(shù)中 int a = 5; int b = 10; Hanshu.Qiuhe(a); Console.WriteLine(b); //最后輸出b結(jié)果為10,為什么不是5+10=15? //因為外部定義的int b 與內(nèi)部定義的int b 不是同一個b ,僅僅是用了同一個字母來表示而已 //二、一個函數(shù)只能返回一個值,將函數(shù)返回的值用split進(jìn)行分割后放入一維數(shù)據(jù)獲取多個值 string ss = Hanshu.Fanhui("張三", "男", 33); string[] xx = ss.Split('-'); for (int i = 0; i < 3; i++) { Console.WriteLine(xx[i]); }//三、out傳址 int aa = 5; int bb = 10; Hanshu.Fanhui1(aa, out bb); Console.WriteLine(bb); //傳址:將這個變量名直接傳輸過去,若在另一邊有賦值情況,這個變量名將變化 Console.ReadLine(); } } }
以上就是淺析C# 函數(shù)的傳值與傳址的詳細(xì)內(nèi)容,更多關(guān)于c# 函數(shù)傳值與傳址的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
C#中如何在Excel工作表創(chuàng)建混合型圖表實例
本篇文章主要介紹了C#中如何在Excel工作表創(chuàng)建混合型圖表實例,具有一定的參考價值,有需要的可以了解一下。2016-11-11C#中使用Override和New關(guān)鍵字進(jìn)行版本控制
在?C#?中,override?和?new?關(guān)鍵字用于控制類之間的成員方法的隱藏和重寫,理解它們之間的差異和使用場景對于設(shè)計靈活且易于維護(hù)的代碼至關(guān)重要,在這篇博客中,我們將詳細(xì)探討這兩個關(guān)鍵字的用法,并通過示例來說明它們的實際應(yīng)用,需要的朋友可以參考下2024-10-10在web.config和app.config文件中增加自定義配置節(jié)點的方法
本篇文章主要是對在web.config和app.config文件中增加自定義配置節(jié)點的方法進(jìn)行了詳細(xì)的介紹,需要的朋友可以過來參考下,希望對大家有所幫助2014-01-01C#基礎(chǔ)語法:Base關(guān)鍵字學(xué)習(xí)筆記
這篇文章主要介紹了C#基礎(chǔ)語法:Base關(guān)鍵字學(xué)習(xí)筆記,本文講解了它的一些基礎(chǔ)知識以及測試代碼,需要的朋友可以參考下2015-06-06