成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

C# this保留字分析

開發 后端
這里介紹C# this保留字一般用于限定同名的隱藏成員、將對象本身做為參數、聲明索引訪問器、判斷傳入參數的對象是否為本身。

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

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

在類的構造函數中出現表示對正在構造的對象本身的引用,在類的方法中出現表示對調用該方法的對象的引用,在結構的構造上函數中出現表示對正在構造的結構的引用,在結構的方法中出現表示對調用該方法的結果的引用;

C# this保留字不能用于靜態成員的實現里,因為這時對象或結構并未實例化;

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

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

示例:

  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. //將對象本身做為參數  
  35. return string.Format("{0} Celsius = {1} Fahrenheit", 
    c, UnitTransClass.C2F(this));  
  36. }  
  37.    
  38. //由于好奇,在這做了一個效率測試,想看看到底哪種方式訪問成員變量更快,
    結論:區別不大。。。  
  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. //攝氏到華氏的轉換公式  
  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#靜態變量簡單分析
  2. C# sealed修飾符學習筆記
  3. C# const和static readonly區別淺談
  4. C#隱含類型局部變量淺析
  5. C#對象初始化器描述
責任編輯:佚名 來源: 博客園
相關推薦

2009-09-11 10:51:33

C#保留小數位

2009-08-19 11:21:02

C# ListBox控

2009-08-26 16:46:06

C# ThreadSt

2009-08-26 10:34:59

C# Hashtabl

2009-09-01 09:16:57

C#使用SharpZi

2009-08-27 15:17:18

C# interfacinterface使用

2009-09-01 18:05:17

C#類型聲明

2009-09-01 18:36:35

C#委托實例

2009-08-21 17:45:40

C#調用COM對象

2009-09-18 10:45:31

C#數組操作

2009-09-01 10:58:46

C#匿名類型對象

2012-10-31 17:37:48

2009-08-26 16:26:37

C#迭代器模式

2009-08-27 15:34:38

C#命名空間

2009-08-27 18:05:54

C#索引功能

2009-08-31 18:24:26

編譯C#文件

2009-09-04 14:01:30

C#存儲BLOB對象

2009-09-01 17:32:04

C#版本控制

2009-08-27 18:02:22

C#事件處理

2009-08-26 18:00:07

C#內部類
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久草视频在线播放 | 91精品国产91久久久久久吃药 | 日韩在线成人 | 成年人视频在线免费观看 | 久色网 | 亚洲精品区 | 国产精品96久久久久久 | 日韩成人在线免费观看 | 久久av一区二区三区 | 天堂视频中文在线 | 刘亦菲国产毛片bd | 99国内精品 | 日韩三级一区 | 中文字幕 国产精品 | 国产农村妇女毛片精品久久麻豆 | 99精品免费视频 | 国产精品久久久久一区二区三区 | 国产精品久久久久久久白浊 | 在线观看视频一区二区三区 | 蜜桃在线一区二区三区 | 91新视频| 国产精品片aa在线观看 | 日韩久草 | 欧美aaa| 日韩激情视频一区 | 国产精品夜夜夜一区二区三区尤 | av网站免费观看 | 九色 在线 | 国产精品久久久久久久久久 | 三级视频在线观看 | 天天爽夜夜骑 | 午夜激情网 | 国产午夜精品久久久久免费视高清 | 天天躁日日躁aaaa视频 | 91久久伊人 | 亚洲国产网站 | 日韩一级黄色片 | 人人射人人草 | 天天躁日日躁狠狠躁2018小说 | 国产大毛片 | 日日夜夜精品免费视频 |