Das man sich eine Klasse bauen kann, die sich wie ein Array verhält, also mit
zugegriffen werden kann, ist ja bekannt.
Man kann aber bei diesen selbstgestrickten "Arrays" auch tatsächlich mehr als einen Parameter übergeben!
using System;
public static class Program
{
public class ClassWithDoubleIndexer
{
public String this[Int32 index, Boolean ignoreIndex]
{
get
{
if (ignoreIndex)
{
return ("Mess With the Best - Die Like the Rest!");
}
if (index == 0)
{
return ("I was Zero Cool!");
}
return ("Hack the Planet!");
}
}
}
public class ClassWithStandardIndexer
{
public String this[Int32 index]
{
get
{
return (index.ToString());
}
}
}
public static void Main(string[] args)
{
String text;
ClassWithStandardIndexer standardIndexer;
ClassWithDoubleIndexer doubleIndexer;
standardIndexer = new ClassWithStandardIndexer();
text = standardIndexer[2];
Console.WriteLine(text);
doubleIndexer = new ClassWithDoubleIndexer();
text = doubleIndexer[0, false];
Console.WriteLine(text);
text = doubleIndexer[1, true];
Console.WriteLine(text);
text = doubleIndexer[1, false];
Console.WriteLine(text);
Console.ReadLine();
}
}
Kommentare zum Snippet