C#初學——C#索引(index)
作者:aammjian
本人通過學習,小結了一下什么是C#索引,以及怎樣聲明C#索引,希望對大家有用。
通過C#的一些學習內容,我看到了C#索引的使用,感覺自己沒什么概念,就學習了下。感覺比較好,適合初學者。
下面是貼出來的代碼:
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- namespace index
- {
- class Worker
- {
- public string LastName;
- public string FirstName;
- public string MyBirth;
- public string this[int index]
- {
- set
- {
- switch (index)
- {
- case 0: LastName = value;
- break;
- case 1: FirstName = value;
- break;
- case 2: MyBirth = value;
- break;
- default:
- throw new ArgumentOutOfRangeException("index");
- break;
- }
- }
- get
- {
- switch(index)
- {
- case 0 : return LastName;
- case 1 : return FirstName;
- case 2 : return MyBirth;
- default :
- throw new ArgumentOutOfRangeException("index");
- break;
- }
- }
- }
- }
- class Program
- {
- static void Main(string[] args)
- {
- Worker a = new Worker();
- Console.WriteLine("print the value:{0},{1},{2}",a[0],a[1],a[2]);
- Console.WriteLine("please print your last name");
- a[0] = Console.ReadLine();
- Console.WriteLine("please print your first name");
- a[1] = Console.ReadLine();
- Console.WriteLine("please print your birthday");
- a[2] = Console.ReadLine();
- Console.WriteLine("Now,your name is {0},{1},and your birth is {2}",a[0],a[1],a[2]);
- }
- }
- }
首先什么是C#索引呢?
書上說它是一組get和set訪問器,我個人就直接這么認為就是獲值或設值的概念。(可能是錯誤的啊,呵呵,理論太差,剛看的)。
怎樣聲明C#索引呢?
他的語法是如下:
要注意下面幾點:a:索引沒有名稱,它是通過關鍵字this。
b:參數列表在方括號里面。
c:參數列表至少必須聲明一個參數。
- ReturnType this [type param1,...]
- {
- get
- {
- ...
- }
- set
- {
- ...
- }
- }
【編輯推薦】
責任編輯:book05
來源:
51cto技術博客