淺析C# 函數(shù)的傳值與傳址
傳值就是將實參的值傳到所調(diào)用的函數(shù)里面,實參的值并沒有發(fā)生變化,默認傳值的有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ù),傳值進去,傳姓名、性別、年齡進去//將年齡+10歲, //return反饋回來 split分割 public string Fanhui(string name, string sex, int age) { age += 10; return name + "-" + sex + "-" + age; } //三、out傳址-僅僅將變量名帶入函數(shù),不考慮參數(shù)值,out自動默認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進行分割后放入一維數(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ù)的傳值與傳址的詳細內(nèi)容,更多關于c# 函數(shù)傳值與傳址的資料請關注腳本之家其它相關文章!
相關文章
C#中如何在Excel工作表創(chuàng)建混合型圖表實例
本篇文章主要介紹了C#中如何在Excel工作表創(chuàng)建混合型圖表實例,具有一定的參考價值,有需要的可以了解一下。2016-11-11在web.config和app.config文件中增加自定義配置節(jié)點的方法
本篇文章主要是對在web.config和app.config文件中增加自定義配置節(jié)點的方法進行了詳細的介紹,需要的朋友可以過來參考下,希望對大家有所幫助2014-01-01