public delegate void ItemFoundCallback(int index);
public static class ItemFinder
public static void FindItem(string[] list, string stringToFind, ItemFoundCallback callback)
foreach (string s in list)
if (s == stringToFind) callback(i);
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);