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、索引器不一定根据整数值进行索引,您可以根据编程要求指定参数类型.

时间: 2024-10-11 05:38:57

Asp.Net中索引器的用法的相关文章

asp.net中Page.ClientScript.RegisterStartupScript用法小结(转)

//ASP.NET后台页面跳转 Page.ClientScript.RegisterStartupScript(Page.GetType(), "", "<script>if(confirm('保存成功!是否继续添加?')){location.href='ProductonAdd.aspx'}else{location.href='ProductonList.aspx'}</script>"); //后台弹出确定框 ClientScript.

ASP.NET中application对象的用法(面试题)

ASP.NET中application对象的用法 本文导读:Application对象是HttpApplicationState类的一个实例,Application状态是整个应用程序全局的.Application对象在服务器内存中存储数量较少又独立于用户请求的数据.由于它的访问速度非常快而且只要应用程序不停止,数据一直存在,我们通常在Application_Start的时候去初始化一些数据,在以后的访问中可以迅速访问和检索. 一.Application对象的理解 Application对象在实际

谨慎Asp.net中static变量的用法

在.Net平台下进行CS软件开发时,我们经常遇到以后还要用到某些变量上次修改后的值,为了简单起见,很多人都习惯用static来定义这些变量,我也是.这样非常方便,下一次调用某个函数时该变量仍然保存的是处理过的值,直接拿来用就可以了. 现在转入了BS软件开发,我们很自然地会沿用这种习惯.如在页面中统计某个按钮被按下的次数,先在类中OnClick事件的处理过程前定义一static变量times,则每次调用该按钮的OnClick事件时,令times增1即可,非常方便: [C#]: ... static

C# 类中索引器的使用二

索引器(Indexer)是C#引入的一个新型的类成员,它使得类中的对象可以像数组那样方便.直观的被引用.索引器非常类似于属性,但索引器可以有参数列表,且只能作用在实例对象上,而不能在类上直接作用.定义了索引器的类可以让您像访问数组一样的使用 [ ] 运算符访问类的成员.(当然高级的应用还有很多,比如说可以把数组通过索引器映射出去等等) 本文只是简单演示一下索引器的概念和基本的使用方法: 请看代码,下面是类的定义,中间包含了一个索引器定义 类的定义 public class Person { //

C#中索引器的作用和实现。

官方描述:索引器允许类或结构的实例就像数组一样进行索引.索引器形态类似于,不同之处在于它们的取值函数采用参数. 这一功能在创建集合类的场合特别有用,而在其他某些情况下,比如处理大型文件或者抽象有些资源等,能让类具有类似数组行为也是非常有用的. 大致结构: <modifier><return type> this [argument list] { get{//读} set{//写} } 其中: modifier:修饰符,如:public,private,protected this

描述一下C#中索引器的实现过程,是否只能根据数字进行索引?

不是.可以用任意类型. 索引器是一种特殊的类成员,它能够让对象以类似数组的方式来存取,使程序看起来更为直观,更容易编写. 1.索引器的定义 C#中的类成员可以是任意类型,包括数组和集合.当一个类包含了数组和集合成员时,索引器将大大简化对数组或集合成员的存取操作. 定义索引器的方式与定义属性有些类似,其一般形式如下: [修饰符] 数据类型 this[索引类型 index] { get{//获得属性的代码} set{ //设置属性的代码} } 修饰符包括 public,protected,priva

案例讲解asp.net中jquery post的用法

一.post案例: 1.前台default.aspx: <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>$.post发送请求</title> <script type="text/javascript" src="Jscript/jquery-1.4.2-vsdoc.js"> </script> <sc

Python中装饰器的用法

定义: 装饰器本身就是一个函数 为其他函数提供附加功能 不改变源代码 不改变原调用方式 装饰器=高阶函数+嵌套函数 知识点: 函数本身就是一个变量(意味着可以被复制给一个变量:test=test(1) ) 高阶函数 把函数名当成一个实参传递给另一个函数func(test1) (不改变源代码的前提下添加代码) 返回值中包含函数名return deco (不改变函数的调用方式) 嵌套函数:函数中加入新的函数def func1(): def func2(): 典型结构: 1 def func1(tes

asp.net中Page.ClientScript.RegisterStartupScript用法小结

ClientScript.RegisterStartupScript(Page.GetType(), "Show", "alert('" + l_strConferenceNo + "');",true);原型如下 ClientScript.RegisterStartupScript(Type type, string key, string script,bool addScriptTags);区别是bool addScriptTags为tru