C#索引器的基础在C#系列之索引器中有所描述,这篇笔记将更加详细地梳理索引器相关报错问题。(以类中的索引器为例)
目录
1.关于未将对象引用设置到对象的实例
此时要在类中设置数组大小。
正确操作如下:
public Person[] friends=new Person[3];//以类名作为返回值类型
public string[] friends=new string[3]; //其他返回值类型类似操作
2.打印不出想要的结果(一般是使用类名作为返回值类型时)
由类名作为返回值类型的索引器使用时,要点出来使用。例如:
Person person= new Person();
person[0] = new Person();
person[0].name ="Nicole Potter";
Console.WriteLine(person[0].name);
否则就会出现以上结果,不报错但是结果不是想要的。
3.不打印结果
此时未能给数组赋值,需要赋值后使用,才能完成打印。
4.正确使用完整代码
①以类名作为返回值类型时
②其他返回值类型
5.其他易错的报错点
①索引器可以重载,但是一个类中只能有一个索引器,索引器在结构体中也能使用。
②索引器的返回值类型可以是很多类型,在学习泛型方法之后,你甚至可以使用<T>来编写索引器 。
③索引器中的this不可以缺少,类似于函数的函数名。