using System;
namespace _022_索引器的重载
{
public class IndexClass
{
public static int size = 5;
private string[] stringArray = new string[size];
public IndexClass()
{
for (int i = 0; i < size; i++)
{
stringArray[i] = "null";
}
}
public string this[int index]
{
get
{
string temp;
if(index>=0&&index<=size-1)
{
temp = stringArray[index];
}
else
{
temp = "";
}
return temp;
}
set
{
if (index >= 0 && index <= size - 1)
{
stringArray[index] = value;
}
}
}
public int this[string str]
{
get//这里重载就只有只读功能了
{
int index = 0;
while(index<size)
{
if(stringArray[index]==str)
{
return index;
}
index++;
}
return index;
}
}
}
class Program
{
static void Main(string[] args)
{
IndexClass indexClass = new IndexClass();
indexClass[0] = "a";
indexClass[1] = "b";
indexClass[2] = "c";
indexClass[3] = "d";
indexClass[4] = "e";
for (int i = 0; i < IndexClass.size; i++)
{
Console.WriteLine(indexClass[i]);
}
Console.WriteLine("该元素在第"+(indexClass["c"]+1)+"个位置");
}
浙公网安备 33010602011771号