接下来我将为你详细讲解“C#索引器简单实例代码”的完整攻略。
1. 什么是C#索引器
C#索引器(indexer)是一种特殊的属性,允许类或结构中的对象通过类似于数组的方式进行索引和访问。可以理解为是类内部的一种自定义“数组”。声明一个索引器需要使用 this
关键字,接着在中括号内指定索引参数的数据类型。例如:
public class MyClass
{
private int[] myArray = new int[100];
public int this[int index]
{
get { return myArray[index]; }
set { myArray[index] = value; }
}
}
上面的代码中,MyClass
类具有一个 int 类型的索引器,通过该索引器可以访问 myArray
数组中的值。
2. C#索引器简单实例代码
接下来,我将为您演示如何使用 C# 索引器。我们将创建一个名为 Person
的类,该类将有一个数组用于存储人们的年龄。我们将编写一个索引器,以便我们可以按名称访问每个人的年龄。
public class Person
{
private int[] _ages = new int[5];
private string[] _names = new string[5];
public int this[string name]
{
get
{
int index = Array.IndexOf(_names, name);
return _ages[index];
}
set
{
int index = Array.IndexOf(_names, name);
_ages[index] = value;
}
}
}
上面的代码中,我们首先声明了一个名为 _ages
的整型数组用于存储人们的年龄,以及一个名为 _names
的字符串类型数组用于存储人们的名字。
接着,我们使用 this
关键字声明了一个名为 this[string name]
的索引器,该索引器接受一个字符串类型的参数 name
用于指定要访问的人的姓名。在 get
属性中,我们搜索名字数组,找到对应名称的索引,然后返回该索引对应的年龄。在 set
属性中,我们执行相同的操作,但是将根据名称设置对应的年龄。
为了测试上述代码,您可以在 Main
方法中编写以下代码:
Person person = new Person();
person["Tom"] = 24;
person["Jerry"] = 18;
Console.WriteLine(person["Tom"]); // 输出 24
Console.WriteLine(person["Jerry"]); // 输出 18
上述代码将创建一个 Person
对象,使用索引器设置人们的年龄,然后使用索引器获取并输出他们的年龄。
以上就是 C# 索引器的简单实例代码的完整攻略。希望对您有所帮助!
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C#索引器简单实例代码 - Python技术站