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

崇明網(wǎng)站建設(shè)公司成都創(chuàng)新互聯(lián)公司,崇明網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為崇明近千家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站建設(shè)要多少錢(qián),請(qǐng)找那個(gè)售后服務(wù)好的崇明做網(wǎng)站的公司定做!
C#索引指示器并不難使用。它們的用法跟數(shù)組相同。在一個(gè)類(lèi)內(nèi)部,你可以按照你的意愿來(lái)管理一組數(shù)據(jù)的集合。這些對(duì)象可以是類(lèi)成員的有限集合,也可以是另外一個(gè)數(shù)組,或者是一些復(fù)雜的數(shù)據(jù)結(jié)構(gòu)。不考慮類(lèi)的內(nèi)部實(shí)現(xiàn),其數(shù)據(jù)可以通過(guò)使用C#索引指示器來(lái)獲得。
實(shí)現(xiàn)C#索引指示器(indexer)的類(lèi)可以象數(shù)組那樣使用其實(shí)例后的對(duì)象,但與數(shù)組不同的是C#索引指示器的參數(shù)類(lèi)型不僅限于int。簡(jiǎn)單來(lái)說(shuō),其本質(zhì)就是一個(gè)含參數(shù)屬性:
- using System;
- using System.Collections.Generic;
- using System.Text;
- namespace Example08
- {
- public class Point
- {
- private double x, y;
- public Point(double X, double Y)
- {
- x = X;
- y = Y;
- }
- //重寫(xiě)ToString方法方便輸出
- public override string ToString()
- {
- return String.Format("X: {0} , Y: {1}", x, y);
- }
- }
- public class Points
- {
- Point[] points;
- public Points(Point[] Points)
- {
- points = Points;
- }
- public int PointNumber
- {
- get
- {
- return points.Length;
- }
- }
- //實(shí)現(xiàn)索引訪問(wèn)器
- public Point this[int Index]
- {
- get
- {
- return points[Index];
- }
- }
- }
- //感謝watson hua(http://huazhihao.cnblogs.com/)的指點(diǎn)
- //索引指示器的實(shí)質(zhì)是含參屬性,參數(shù)并不只限于int
- class WeatherOfWeek
- {
- public string this[int Index]
- {
- get
- {
- //注意case段使用return直接返回所以不需要break
- switch (Index)
- {
- case 0:
- {
- return "Today is cloudy!";
- }
- case 5:
- {
- return "Today is thundershower!";
- }
- default:
- {
- return "Today is fine!";
- }
- }
- }
- }
- public string this[string Day]
- {
- get
- {
- string TodayWeather = null;
- //switch的標(biāo)準(zhǔn)寫(xiě)法
- switch (Day)
- {
- case "Sunday":
- {
- TodayWeather = "Today is cloudy!";
- break;
- }
- case "Friday":
- {
- TodayWeather = "Today is thundershower!";
- break;
- }
- default:
- {
- TodayWeather = "Today is fine!";
- break;
- }
- }
- return TodayWeather;
- }
- }
- }
- class Program
- {
- static void Main(string[] args)
- {
- Point[] tmpPoints = new Point[10];
- for (int i = 0; i < tmpPoints.Length; i++)
- {
- tmpPoints[i] = new Point(i, Math.Sin(i));
- }
- Points tmpObj = new Points(tmpPoints);
- for (int i = 0; i < tmpObj.PointNumber; i++)
- {
- Console.WriteLine(tmpObj[i]);
- }
- string[] Week = new string[]
{ "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Staurday"};- WeatherOfWeek tmpWeatherOfWeek = new WeatherOfWeek();
- for (int i = 0; i < 6; i++)
- {
- Console.WriteLine(tmpWeatherOfWeek[i]);
- }
- foreach (string tmpDay in Week)
- {
- Console.WriteLine(tmpWeatherOfWeek[tmpDay]);
- }
- Console.ReadLine();
- }
- }
- }
網(wǎng)站名稱(chēng):C#索引指示器淺析
本文鏈接:http://fisionsoft.com.cn/article/cdepdic.html


咨詢(xún)
建站咨詢(xún)
