



全文預覽已結(jié)束
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
C# 值類型和引用類型及參數(shù)傳遞值類型和引用類型:C#數(shù)據(jù)類型分為兩大類:值類型和引用類型。值類型數(shù)據(jù)主要有:結(jié)構(gòu)體struct,枚舉體enum,布爾型bool,浮點型,整型。引用類型數(shù)據(jù)主要有:數(shù)組,字符串,接口,委托,類。值類型和引用類型的區(qū)別:引用類型繼承自System.Object,值類型繼承自System.ValueType。引用類型保存到內(nèi)存的堆heap中,值類型保存在內(nèi)存的堆棧stack中。在.net中,棧的內(nèi)存是自動釋放的,而堆會有垃圾回收器GC來釋放。引用類型可以派生出新的類型,而值類型不可以。引用類型可以包含null值,而值類型不可以。引用類型變量賦值只復制對象的引用,不復制對象本身。而將一個值類型變量賦給另一個值類型變量時,將復制包含的值。下面一個小例子可以簡單說明值類型和引用類型:class PointR public int x, y; struct PointV public int a, b; class Program static void Main(string args) /給一個引用類型賦值將復制到一個對象的引用,而給一個值類型賦值將復制一個對象的值 PointR r; PointV v; r = new PointR(); v = new PointV(); r.x = 7; v.a = 7; PointR pr = r; PointV pv = v; pr.x = 9; pv.a = 9; Console.WriteLine(r.x);/9 Console.WriteLine(v.a);/7 Console.Read(); C#參數(shù)傳遞:.net默認的是通過值傳送變量,但是也可以迫使值參數(shù)通過引用傳送給方法。C#要求對傳遞給方法的參數(shù)進行初始化。在傳遞給方法之前,無論時按值 傳遞,還是按引用傳遞,變量都必須初始化。 ref關鍵字:可以迫使值參數(shù)通過引用傳送給方法。即:在.net中,如果把一個參數(shù)傳遞給方法,且這個方法的輸入?yún)?shù)前帶有ref關鍵字,則該方法對變 量所做的任何改變都會影響原來對象的值。下面一個小例子說明按值傳遞和ref參數(shù)傳遞:class Program /默認值,C#的參數(shù)是按值傳遞的,這也是最常見的情況 static void Method1(int p) +p; /為了按引用傳遞,C#提供了參數(shù)修飾字ref,。ref修飾字要求變量在傳遞給方法之前必須賦值 static void Method2(ref int p) +p; static void Main(string args) int x = 9; int y = 9; Method1(x); Method2(ref y); Console.WriteLine(x);/9 Console.WriteLine(y);/10 Console.Read(); 在方法的輸入?yún)?shù)前面加上out關鍵字時,傳遞給該方法的變量可以不初始化。該變量通過引用傳遞,所以在從被調(diào)用的方法中返回時,方法對該變量進行 的任何改變都會保留下來。在調(diào)用該方法時,還需要使用out關鍵字,這與在定義該方法時一樣。并且out修飾字要求變量在從方法返回時必須賦值。舉例說 明:class Program /out修飾字要求變量在從方法返回時必須賦值 static void Split(string name, out string firstName, out string lastName) int i = name.LastIndexOf( ); firstName = name.Substring(0, i); lastName = name.Substring(i + 1); static void Main(string args) string a, b; Split(zhou enlai, out a, out b); Console.WriteLine(0+ 1, a, b);/zhou+ erlai Console.Read(); 還有一個params修飾傳遞參數(shù),示例:class Program /params 修飾字可以使用在方法的最后一個參數(shù)上,這樣方法就可以接受任意數(shù)目的某種類型的參數(shù) static int Add(params int arr) int sum = 0; foreach (int i in arr) sum += i; return sum; static void Main(string
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于角反的目標電磁散射特征擬合方法研究
- 2025二手汽車買賣交易合同
- (2025)事業(yè)單位考試時事政治知識考試試題及答案大全
- 2024年許昌禹州市規(guī)劃展覽館招聘考試真題
- 2024年湖南網(wǎng)絡工程職業(yè)學院輔導員考試真題
- 2024年安徽公安學院招聘真題
- 2025屆高考數(shù)學模擬試題(卷)(6)(教師版)
- 呼職院幼兒音樂教學法試題庫及答案
- 2025年二手奢侈品鑒定技術(shù)發(fā)展對市場流通的影響與對策研究與應用報告
- 2025年二手奢侈品鑒定標準與交易規(guī)范行業(yè)創(chuàng)新趨勢報告
- 酒店新業(yè)態(tài)(酒店業(yè)發(fā)展趨勢)課件
- 期末考試(試題)-2023-2024學年五年級下冊數(shù)學人教版
- 紋眉市場分析報告
- 新員工入職廉潔從業(yè)教育培訓
- 加強企業(yè)環(huán)境管理與監(jiān)督
- 企業(yè)員工福利問題與對策-以中智關愛通公司為例
- 醫(yī)療安全不良事件培訓
- 潤滑油添加劑項目評估報告
- 機器人結(jié)構(gòu)優(yōu)化設計
- (完整版)各氣候類型氣溫曲線與降水量柱狀圖(高清空白圖)
- 公司消防安全知識試題及答案2
評論
0/150
提交評論