public delegate void ItemFoundCallback(int index);
public static class ItemFinder {
public static void FindItem (string[] list, string stringToFind,
ItemFoundCallback callback) {
for(int i=0; i < list.Length; i++){
if(list[i] == 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);