C#中this保留字的作用是什么

這期內(nèi)容當(dāng)中小編將會給大家?guī)碛嘘P(guān)C# 中this保留字的作用是什么,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

專注于為中小企業(yè)提供網(wǎng)站制作、網(wǎng)站建設(shè)服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)平城免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了上千余家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。

C#語言有很多值得學(xué)習(xí)的地方,這里我們主要介紹C# this保留字,包括介紹在結(jié)構(gòu)的方法中出現(xiàn)表示對調(diào)用該方法的結(jié)果的引用等方面。

this 是一個(gè)保留字,僅限于構(gòu)造函數(shù)和方法成員中使用;

在類的構(gòu)造函數(shù)中出現(xiàn)表示對正在構(gòu)造的對象本身的引用,在類的方法中出現(xiàn)表示對調(diào)用該方法的對象的引用,在結(jié)構(gòu)的構(gòu)造上函數(shù)中出現(xiàn)表示對正在構(gòu)造的結(jié)構(gòu)的引用,在結(jié)構(gòu)的方法中出現(xiàn)表示對調(diào)用該方法的結(jié)果的引用;

C# this保留字不能用于靜態(tài)成員的實(shí)現(xiàn)里,因?yàn)檫@時(shí)對象或結(jié)構(gòu)并未實(shí)例化;

在 C# 系統(tǒng)中,this 實(shí)際上是一個(gè)常量,所以不能使用 this++ 這樣的運(yùn)算;

C# this保留字一般用于限定同名的隱藏成員、將對象本身做為參數(shù)、聲明索引訪問器、判斷傳入?yún)?shù)的對象是否為本身。

示例:

  1. using System;  

  2. using System.Collections.Generic;  

  3. using System.Text;  

  4.    

  5. namespace Example10  

  6. {  

  7. class Class1  

  8. {  

  9. private double c;  

  10. private string value;  

  11.    

  12. public double C  

  13. {  

  14. get  

  15. {  

  16. return c;  

  17. }  

  18. }  

  19. public Class1(double c)  

  20. {  

  21. //限定同名的隱藏成員  

  22. this.c = c;  

  23. }  

  24. public Class1(Class1 value)  

  25. {  

  26. //用對象本身實(shí)例化自己沒有意義  

  27. if (this != value)  

  28. {  

  29. c = value.C;  

  30. }  

  31. }  

  32. public override string ToString()  

  33. {  

  34. //將對象本身做為參數(shù)  

  35. return string.Format("{0} Celsius = {1} Fahrenheit", 
    c, UnitTransClass.C2F(this));  

  36. }  

  37.    

  38. //由于好奇,在這做了一個(gè)效率測試,想看看到底哪種方式訪問成員變量更快,
    結(jié)論:區(qū)別不大。。。  

  39. public string Test1()  

  40. {  

  41. long vTickCount = Environment.TickCount;  

  42. for (int i = 0; i < 10000000; i++)  

  43. this.value = i.ToString();  

  44. return string.Format("Have this.: {0} MSEL", 
    Environment.TickCount - vTickCount);  

  45. }  

  46. public string Test2()  

  47. {  

  48. long vTickCount = Environment.TickCount;  

  49. for (int i = 0; i < 10000000; i++)  

  50. value = i.ToString();  

  51. return string.Format("Don't have this.: {0} MSEL", 
    Environment.TickCount - vTickCount);  

  52. }  

  53. }  

  54. class UnitTransClass  

  55. {  

  56. public static double C2F(Class1 value)  

  57. {  

  58. //攝氏到華氏的轉(zhuǎn)換公式  

  59. return 1.8 * value.C + 32;  

  60. }  

  61. }  

  62. class Program  

  63. {  

  64. static void Main(string[] args)  

  65. {  

  66. Class1 tmpObj = new Class1(37.5);  

  67. Console.WriteLine(tmpObj);  

  68. Console.WriteLine(tmpObj.Test1());  

  69. Console.WriteLine(tmpObj.Test2());  

  70. Console.ReadLine();  

  71. }  

  72. }  

上述就是小編為大家分享的C# 中this保留字的作用是什么了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

分享文章:C#中this保留字的作用是什么
URL分享:http://bm7419.com/article8/psohip.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)公司、云服務(wù)器、全網(wǎng)營銷推廣品牌網(wǎng)站制作、企業(yè)建站微信公眾號

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

微信小程序開發(fā)