C# 索引器
来源:互联网 发布:量化交易python和r 编辑:程序博客网 时间:2024/05/21 10:31
索引器类似属性,不过是针对数组的,索引器的使用示例如下所示:
特点:
<1>用this关键字定义索引器
<2>用get,set进行访问
<3>索引器的访问索引可以依据自定的规则,而不是必须是整数
<4>索引器可以被重载
<5>索引器可以有多个形参
推理:
<1>参数类型相同的索引器在类中只能存在一个
<2>若有多个不同索引器,必须索引器的参数不同
接口中的索引器
接口索引器不能使用访问修饰符,不能有函数体;
当类继承多个接口索引器并且索引器的参数相同的时候,需要显式的实现接口的索引器,最终索引器的使用也是只能通过接口来调用,不能通过类的对象来直接调用,示例如下:
namespace ConsoleApplication9Indexer{ class Class1 { private string[] Strs = new string[100]; public string this[int i] { get { return Strs[i]; } set { Strs[i] = value; } } private int[,] Ints = new int[10,10]; public int this[int i,int j] { get { return Ints[i,j]; } set { Ints[i,j] = value; } } } class Program { static void Main(string[] args) { Class1 Tc = new Class1(); Tc[1] = "sjkf"; Console.WriteLine(Tc[1]); Tc[0,0] = 10; Console.WriteLine(Tc[0,0]); } }}
特点:
<1>用this关键字定义索引器
<2>用get,set进行访问
<3>索引器的访问索引可以依据自定的规则,而不是必须是整数
<4>索引器可以被重载
<5>索引器可以有多个形参
推理:
<1>参数类型相同的索引器在类中只能存在一个
<2>若有多个不同索引器,必须索引器的参数不同
接口中的索引器
接口索引器不能使用访问修饰符,不能有函数体;
当类继承多个接口索引器并且索引器的参数相同的时候,需要显式的实现接口的索引器,最终索引器的使用也是只能通过接口来调用,不能通过类的对象来直接调用,示例如下:
namespace ConsoleApplication9Indexer{ public interface Inter1 { string this[int i] { get; set; } } public interface Inter2 { string this[int j] { get; set; } } public interface Inter3 { string this[int i] { get; set; } } class Class2 : Inter1,Inter2,Inter3 { private string[] names = new string[100]; private string[] sexs = new string[100]; private string[] Adds = new string[100]; string Inter1.this[int i] { get { return names[i]; } set { names[i] = value; } } string Inter2.this[int j] { get { return sexs[j]; } set { sexs[j] = value; } } public string this[int i] { get { return Adds[i]; } set { Adds[i] = value; } } }static void Main(string[] args) { Class2 Ts = new Class2(); Inter1 Inters1 = (Inter1)Ts; Inters1[11] = "whjhd"; Console.WriteLine(Inters1[11]); Inter2 Inters2 = (Inter2)Ts; Inters2[67] = "what a fucking day"; Console.WriteLine(Inters2[67]);}}
0 0
- C#索引器
- C#索引器
- C#索引器
- C#中的索引器
- C#索引器
- C# 索引器
- C#索引器
- C#索引器
- C# 索引器
- C#索引器
- C#索引器
- C#索引器
- C#索引器
- c#属性 索引器
- C#的索引器
- C#索引器
- C#索引器
- C#索引器
- 关于DB索引、一致性哈希算法的思考(我认为都是解决伸缩性的问题)
- 控制循环结构: break、continue和return
- Android3D绘图之OpenGL ES(三)
- ZOJ-2576
- Linux内核设计的艺术-多进程操作文件的综合实例
- C# 索引器
- 解析Android消息处理机制:Handler/Thread/Looper & MessageQueue
- 实现Camera对象
- JVM调优总结(一):基础概念、数据类型、堆与栈
- 北师大 ------ 星际战争
- mybatis参考
- 数位统计
- Win32 Hello World程序[转]
- 最短路径