Sprache: C#
Das man sich eine Klasse bauen kann, die sich wie ein Array verhält, also mit
[code]ergebnis = instanz[3];[/code]
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();
}
}
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();
}
}
Alte URL:
/snippet/multi-indexer/1716