您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關C#中怎么實現函數的傳值與傳址,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
傳值就是將實參的值傳到所調用的函數里面,實參的值并沒有發生變化,默認傳值的有int型,浮點型,bool型,char字符型,結構體等等。
傳址就是將地址傳到所調用的函數里面操作,實參的值也會跟著變化,傳址的有數組和字符串string。
上面說的就牽扯到數據的分類,分為值類型和引用類型,值類型的就是傳值的那種,引用類型包括字符串類型,數組和對象,字符串類型特殊,主要是因為字符串實際上是一個字符char[]數組,它在修改的時候并不是直接修改,而是新開辟了一個存儲空間也就是建立了一個新的字符串,所以它在調用、賦值的using System;
using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Collections; namespace _1019傳值傳址 { class Program { //一、傳值-將變量的值傳入函數中 public void Qiuhe(int a) { int b = a + 10; Console.WriteLine(b); }////寫個函數,傳值進去,傳姓名、性別、年齡進去//將年齡+10歲, //return反饋回來 split分割 public string Fanhui(string name, string sex, int age) { age += 10; return name + "-" + sex + "-" + age; } //三、out傳址-僅僅將變量名帶入函數,不考慮參數值,out自動默認return public void Fanhui1(int a,out int b) { b = a + 10; } static void Main(string[] args) { //調用函數之前需要先初始化、實例化該Class類 Program Hanshu = new Program(); //一、傳值-將變量的值傳入函數中 int a = 5; int b = 10; Hanshu.Qiuhe(a); Console.WriteLine(b); //最后輸出b結果為10,為什么不是5+10=15? //因為外部定義的int b 與內部定義的int b 不是同一個b ,僅僅是用了同一個字母來表示而已 //二、一個函數只能返回一個值,將函數返回的值用split進行分割后放入一維數據獲取多個值 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#中怎么實現函數的傳值與傳址,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。