自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

C#索引指示器淺析

開發(fā) 后端
這里介紹C#索引指示器并不難使用。它們的用法跟數(shù)組相同。在一個(gè)類內(nèi)部,你可以按照你的意愿來管理一組數(shù)據(jù)的集合。

C#語言有很多值得學(xué)習(xí)的地方,這里我們主要介紹C#索引指示器,包括介紹C#索引指示器并不難使用。它們的用法跟數(shù)組相同等方面。

C#索引指示器并不難使用。它們的用法跟數(shù)組相同。在一個(gè)類內(nèi)部,你可以按照你的意愿來管理一組數(shù)據(jù)的集合。這些對象可以是類成員的有限集合,也可以是另外一個(gè)數(shù)組,或者是一些復(fù)雜的數(shù)據(jù)結(jié)構(gòu)。不考慮類的內(nèi)部實(shí)現(xiàn),其數(shù)據(jù)可以通過使用C#索引指示器來獲得。

實(shí)現(xiàn)C#索引指示器(indexer)的類可以象數(shù)組那樣使用其實(shí)例后的對象,但與數(shù)組不同的是C#索引指示器的參數(shù)類型不僅限于int。簡單來說,其本質(zhì)就是一個(gè)含參數(shù)屬性:

  1. using System;  
  2. using System.Collections.Generic;  
  3. using System.Text;  
  4.    
  5. namespace Example08  
  6. {  
  7. public class Point  
  8. {  
  9. private double x, y;  
  10. public Point(double X, double Y)  
  11. {  
  12. x = X;  
  13. y = Y;  
  14. }  
  15. //重寫ToString方法方便輸出  
  16. public override string ToString()  
  17. {  
  18. return String.Format("X: {0} , Y: {1}", x, y);  
  19. }  
  20. }  
  21. public class Points  
  22. {  
  23. Point[] points;  
  24. public Points(Point[] Points)  
  25. {  
  26. points = Points;  
  27. }  
  28. public int PointNumber  
  29. {  
  30. get   
  31. {   
  32. return points.Length;   
  33. }  
  34. }  
  35. //實(shí)現(xiàn)索引訪問器  
  36. public Point this[int Index]  
  37. {  
  38. get  
  39. {  
  40. return points[Index];  
  41. }  
  42. }  
  43. }  
  44.    
  45. //感謝watson hua(http://huazhihao.cnblogs.com/)的指點(diǎn)  
  46. //索引指示器的實(shí)質(zhì)是含參屬性,參數(shù)并不只限于int  
  47. class WeatherOfWeek  
  48. {  
  49. public string this[int Index]  
  50. {  
  51. get  
  52. {  
  53. //注意case段使用return直接返回所以不需要break  
  54. switch (Index)  
  55. {  
  56. case 0:  
  57. {  
  58. return "Today is cloudy!";  
  59. }  
  60. case 5:  
  61. {  
  62. return "Today is thundershower!";  
  63. }  
  64. default:  
  65. {  
  66. return "Today is fine!";  
  67. }  
  68. }  
  69. }  
  70. }  
  71. public string this[string Day]  
  72. {  
  73. get  
  74. {  
  75. string TodayWeather = null;  
  76. //switch的標(biāo)準(zhǔn)寫法  
  77. switch (Day)  
  78. {  
  79. case "Sunday":  
  80. {  
  81. TodayWeather = "Today is cloudy!";  
  82. break;  
  83. }  
  84. case "Friday":  
  85. {  
  86. TodayWeather = "Today is thundershower!";  
  87. break;  
  88. }  
  89. default:  
  90. {  
  91. TodayWeather = "Today is fine!";  
  92. break;  
  93. }  
  94. }  
  95. return TodayWeather;  
  96. }  
  97. }  
  98. }  
  99. class Program  
  100. {  
  101. static void Main(string[] args)  
  102. {  
  103. Point[] tmpPoints = new Point[10];  
  104. for (int i = 0; i < tmpPoints.Length; i++)  
  105. {  
  106. tmpPoints[i] = new Point(i, Math.Sin(i));  
  107. }  
  108. Points tmpObj = new Points(tmpPoints);  
  109. for (int i = 0; i < tmpObj.PointNumber; i++)  
  110. {  
  111. Console.WriteLine(tmpObj[i]);  
  112. }  
  113. string[] Week = new string[] 
    { "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Staurday"};  
  114. WeatherOfWeek tmpWeatherOfWeek = new WeatherOfWeek();  
  115. for (int i = 0; i < 6; i++)  
  116. {  
  117. Console.WriteLine(tmpWeatherOfWeek[i]);  
  118. }  
  119. foreach (string tmpDay in Week)  
  120. {  
  121. Console.WriteLine(tmpWeatherOfWeek[tmpDay]);  
  122. }  
  123. Console.ReadLine();  
  124. }  
  125. }  

【編輯推薦】

  1. C#靜態(tài)變量簡單分析
  2. C# sealed修飾符學(xué)習(xí)筆記
  3. C# const和static readonly區(qū)別淺談
  4. C#隱含類型局部變量淺析
  5. C#對象初始化器描述
責(zé)任編輯:佚名 來源: 賽迪網(wǎng)
相關(guān)推薦

2009-08-14 17:45:52

C# ArrayLis

2009-08-17 18:34:50

C# ChangeCo

2009-08-07 17:25:37

C# SortedLi

2009-08-25 17:59:49

C#入門

2009-08-27 13:45:45

C#別名指示符

2009-08-31 17:53:20

C#實(shí)現(xiàn)索引器

2009-08-10 16:40:03

C#索引器

2009-08-18 10:30:30

C#枚舉

2009-09-03 17:49:59

C#瀏覽器開發(fā)

2009-08-11 14:45:41

C# DataGrid

2009-08-10 14:43:03

C#函數(shù)Convert

2009-08-20 10:10:55

C#透明窗體

2009-09-11 09:15:06

C# get方法

2009-07-31 16:00:30

C#函數(shù)重載

2009-08-06 14:43:10

C# Calculat

2009-08-21 17:24:06

C# SingleIn

2009-08-04 09:30:33

C#調(diào)用ImageAn

2009-08-12 17:03:39

C# Static修飾

2009-08-21 15:57:58

C# DataSour

2009-08-20 16:15:19

C# 匿名方法
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號