标题 | Asp.Net中索引器的用法分析 |
内容 | 本文实例分析了Asp.Net中索引器的用法。分享给大家供大家参考。具体如下: 索引器定义类似于属性,但其功能与属性并不相同.索引器提供一种特殊的方法编写get和set访问器.属性可以像访问字段一样访问对象的数据,索引器可以使用户像访问数组一样访问类成员. 一、索引器特性 1、get 访问器返回值。set 访问器分配值。 2、this 关键字用于定义索引器。 3、value 关键字用于定义由 set 索引器分配的值。 4、索引器不必根据整数值进行索引,由您决定如何定义特定的查找机制。 5、索引器可被重载。 6、索引器可以有多个形参,例如当访问二维数组时。 7、索引器使得对象可按照与数组相似的方法进行索引。 二、定义索引器的方式与定义属性有些类似,其一般形式如下: 复制代码 代码如下:[修饰符] 数据类型 this[索引类型 index] { get{//获得属性的代码} set{ //设置属性的代码} } 和方法一样,索引器有5种存取保护级别new、public、protected、internal、private,和4种继承行为修饰virtual、sealed、override、abstract,以及外部索引器.这些行为同方法没有任何差别.唯一不同的是索引器不能为静态(static),这在对象引用的语义下很容易理解.值得注意的是在重写(override)实现索引器时,应该用base[E]来存取父类的索引器. 三、索引器代码示例 C#代码如下: 复制代码 代码如下:class SampleCollection<T> { private T[] arr = new T[100]; public T this[int i] { get { return arr[i]; } set { arr[i] = value; } } } class Program { static void Main(string[] args) { SampleCollection<string> stringCollection = new SampleCollection<string>(); stringCollection[0] = "Hello, World"; System.Console.WriteLine(stringCollection[0]); } } 四、定义索引器应注意以下内容: 1、所有索引器都使用this关键词来取代方法名.Class或Struct只允许定义一个索引器,而且总是命名为this. 2、索引器允许类或结构的实例按照与数组相同的方式进行索引.索引器类似于属性,不同之处在于它们的访问器采用参数. 3、索引器不一定根据整数值进行索引,您可以根据编程要求指定参数类型. 希望本文所述对大家的C#程序设计有所帮助。 |
随便看 |
|
在线学习网考试资料包含高考、自考、专升本考试、人事考试、公务员考试、大学生村官考试、特岗教师招聘考试、事业单位招聘考试、企业人才招聘、银行招聘、教师招聘、农村信用社招聘、各类资格证书考试等各类考试资料。