C#初学——C#索引(index)

开发 后端
本人通过学习,小结了一下什么是C#索引,以及怎样声明C#索引,希望对大家有用。

通过C#的一些学习内容,我看到了C#索引的使用,感觉自己没什么概念,就学习了下。感觉比较好,适合初学者。

下面是贴出来的代码:

  1. using System;   
  2. using System.Collections.Generic;   
  3. using System.Linq;   
  4. using System.Text;   
  5.    
  6. namespace index   
  7. {   
  8.         class Worker   
  9.         {   
  10.                 public string LastName;   
  11.                 public string FirstName;   
  12.                 public string MyBirth;   
  13.    
  14.                 public string this[int index]   
  15.                 {   
  16.                         set   
  17.                         {   
  18.                                 switch (index)   
  19.                                 {   
  20.                                         case 0: LastName = value;   
  21.                                                 break;   
  22.                                         case 1: FirstName = value;   
  23.                                                 break;   
  24.                                         case 2: MyBirth = value;   
  25.                                                 break;   
  26.                                         default:   
  27.                                                 throw new ArgumentOutOfRangeException("index");   
  28.                                                 break;   
  29.                                 }   
  30.                         }   
  31.                         get   
  32.                         {   
  33.                                 switch(index)   
  34.                                 {   
  35.                                         case 0 : return LastName;   
  36.                                         case 1 : return FirstName;   
  37.                                         case 2 : return MyBirth;   
  38.                                         default :      
  39.                                                 throw new ArgumentOutOfRangeException("index");   
  40.                                                 break;   
  41.                                 }   
  42.                                            
  43.                         }   
  44.                 }   
  45.         }   
  46.         class Program   
  47.         {   
  48.                 static void Main(string[] args)   
  49.                 {   
  50.                         Worker a = new Worker();   
  51.                         Console.WriteLine("print the value:{0},{1},{2}",a[0],a[1],a[2]);   
  52.                         Console.WriteLine("please print your last name");   
  53.                         a[0] = Console.ReadLine();   
  54.                         Console.WriteLine("please print your first name");   
  55.                         a[1] = Console.ReadLine();   
  56.                         Console.WriteLine("please print your birthday");   
  57.                         a[2] = Console.ReadLine();   
  58.                         Console.WriteLine("Now,your name is {0},{1},and your birth is {2}",a[0],a[1],a[2]);   
  59.    
  60.                 }   
  61.         }   
  62. }  

首先什么是C#索引呢?

书上说它是一组get和set访问器,我个人就直接这么认为就是获值或设值的概念。(可能是错误的啊,呵呵,理论太差,刚看的)。

怎样声明C#索引呢?

他的语法是如下:

要注意下面几点:a:索引没有名称,它是通过关键字this。

                                   b:参数列表在方括号里面。

                                   c:参数列表至少必须声明一个参数。 

  1. ReturnType this [type param1,...]   
  2. {   
  3.         get   
  4.                 {   
  5.                         ...   
  6.                 }   
  7.         set   
  8.                 {   
  9.                         ...   
  10.                 }   
  11. }  

【编辑推荐】

  1. 总结C#哈希表的用法
  2. 不一样的入门:看C# Hello World的17种写法
  3. 什么是WMI?及其示例
  4. 从C#到C++容易出现的问题解答
  5. 浅议.NET、ASP.NET和C#的关系
责任编辑:book05 来源: 51cto技术博客
相关推荐

2009-08-25 17:15:50

C#隐藏C#重写C#重载

2009-08-27 18:05:54

C#索引功能

2009-09-01 17:25:33

初学C#编程

2009-09-02 17:10:45

C#语言入门

2009-08-13 17:04:09

C#语言C#程序

2009-08-25 17:59:49

C#入门

2009-08-27 16:11:03

C# delegateC# event

2009-08-31 17:53:20

C#实现索引器

2009-08-27 12:58:44

C#索引指示器

2009-08-10 16:40:03

C#索引器

2009-08-26 10:34:15

C#类型C#变量

2009-08-18 10:30:30

C#枚举

2009-08-24 11:02:52

C#接口映射

2009-08-19 16:50:32

Visual C#C#语言特性

2009-08-24 09:55:26

C#接口转换

2016-10-13 13:33:41

反射特性c#

2021-01-22 05:53:08

C# IndexRange

2009-08-28 10:14:45

C#内存泄露

2021-03-15 08:18:23

C#反射模块

2009-09-02 10:58:02

C#动态数组
点赞
收藏

51CTO技术栈公众号