黑马程序员技术交流社区

标题: C#中属性与索引的区别 [打印本页]

作者: duanhuilin    时间: 2012-10-25 09:17
标题: C#中属性与索引的区别
索引器类似于属性,不同之处在于它们的访问器采用参数。

[访问修饰符]数据类型this[数据类型 标识符]

{

get{}

set{}

}

例子: private int[] arr=new int[100];

public int this[int i]

{

get{return arr[i];}

set{arr[i]=value;}

}

1. 索引器是属性的一种,它本质上和属性一样是方法。

2. 索引器的类型和集合元素的类型一致

3. 索引器没有名称(this关键字为标志)

4. 索引器至少有一个参数eg:this(int i)

5. 索引器可以重载,因此一个类中可以有多个索引器,调用时索引器通过数组下标索引;索引器是针对集合类型成员变量的

eg: Stu[0]=1;

Stu[1]=2;

1. 属性是封装的一种方法。是专门来控制访问性的一种语法结构,成员变量定义为私有类型(因为变量是表示对象特征的,不可以随便修改,为了安全性。)

2. Value是关键字,它的类型取决于属性的数据类型;

3. 属性的访问修饰符为public(总是),属性有类型,它的类型取决于成员变量的类型。

4. 当修改属性或为属性赋值时,将值先传给value,再赋给成员变量;

5. 属性的类型分为三类:只读(get)读写(get&&set) 只写(set)

6. Set:set访问器 get:get访问器

7. 属性名与成员变量同名,书写时首写字母必须大写

8. 书写格式:

访问修饰 返回类型属性名

{

Set{语句集合;}

Get{语句集合;}

}

例子:

Private int name;

Public string Name

{

Set{return name;}//语句后要加“;”号

Get{name=value;}

}


希望对大家有帮助
作者: 许庭洲    时间: 2012-10-25 22:42
值得学习ing!
作者: 张文    时间: 2012-10-25 22:45
呵呵。我原来以为楼主是问问题的。学习了。谢谢。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2