日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
C#this保留字分析

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

電白網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)公司!從網(wǎng)頁設計、網(wǎng)站建設、微信開發(fā)、APP開發(fā)、響應式網(wǎng)站開發(fā)等網(wǎng)站項目制作,到程序開發(fā),運營維護。創(chuàng)新互聯(lián)公司自2013年創(chuàng)立以來到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進行。專注于網(wǎng)站建設就選創(chuàng)新互聯(lián)公司。

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

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

C# this保留字不能用于靜態(tài)成員的實現(xiàn)里,因為這時對象或結(jié)構并未實例化;

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

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. //用對象本身實例化自己沒有意義  
  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. //由于好奇,在這做了一個效率測試,想看看到底哪種方式訪問成員變量更快,
    結(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. }  

【編輯推薦】

  1. C#靜態(tài)變量簡單分析
  2. C# sealed修飾符學習筆記
  3. C# const和static readonly區(qū)別淺談
  4. C#隱含類型局部變量淺析
  5. C#對象初始化器描述

當前標題:C#this保留字分析
轉(zhuǎn)載來于:http://www.5511xx.com/article/dpjgsog.html