public delegate void ItemFoundCallback(int index);
public static class ItemFinder {
public static void FindItem(string[] list, string stringToFind,
ItemFoundCallback callback) {
callback = Program.Announce;
for(int counter=0;counter<list.Length;counter++)
if (list[counter] == stringToFind)
public static void Announce(int i) {
Console.WriteLine("String found at index {0}!",i);
public static void Main()
string[] s = {"Pikachu", "Squirtle", "Ditto",
"Pikachu", "Ditto", "Dragonite"};
Console.WriteLine("Finding Pikachu...");
ItemFinder.FindItem(s,"Pikachu",Announce);
Console.WriteLine("Finding Ditto...");
ItemFinder.FindItem(s,"Ditto",Announce);