C#索引器-有参属性
总结
只要类中有类似于属性的元素就应创建索引器,此属性代表的不是一个值,而是值的集合,其中每一个项由一组参数标识。 这些参数可以唯一标识应引用的集合中的项。 索引器延伸了属性的概念,索引器中的一个成员被视为类外部的一个数据项,但又类似于内部的一个方法。 索引器允许参数在代表项的集合的属性中查找单个项。
1、所有索引器至少要有一个参数,可以有更多,
2、索引器和属性 返回类型可以是除了void以外的任意类型
3、属性的各种用法同样适用于索引器。 此规则的唯一例外是“自动实现属性”。 编译器无法始终为索引器生成正确的存储。
4、C#使用数组风格的语法来公开有参属性,可以把索引器看作C#重载[]操作符的一种方式。//自己总结的
5、索引和属性都是函数,负责对私有字段进行操作的函数。属性是无参函数,索引是有参函数。//自己总结的
// //Crtl+r,Ctrl+E 封装属性,直接生产 private string name;//Crtl+r,Ctrl+E 封装属性 public string Name { get => name; set => name = value; }//Crtl+r,Ctrl+E 直接生成
编程是个人爱好
1、索引器(Indexer):
索引器允许类或者结构的实例按照与数组相同的方式进行索引。索引器类似于属性,不同之处在于他们的访问采用参数。
最简单的索引器的使用
2、索引器与数组的区别:
用来访问数组的索引值(Index)一定为整数,而索引器的索引值类型可以定义为其他类型。
一个类不限定为只能定义一个索引器,只要索引器的函数签名不同,就可以定义多个索引器,可以重载它的功能。
索引器没有直接定义数据存储的地方,而数组有。索引器具有Get和Set访问器。
3、索引器与属性的区别:
以字符串作为下标,对索引器进行存取:
多参数索引器及索引器的重载