using System.Diagnostics;
public static void Main()
Console.WriteLine("Hello World");
string locate = "I Am Not Here";
var array = new string[] {"Not Me", "Wrong Again", "Find Me", "To Far" };
DoWithLoop(locate, array, array);
DoWithLinq(locate, array, array);
static void DoWithLoop(string locate, string[] searchThrough, string[] outputs)
Console.WriteLine("Using Loop...");
var watch = new Stopwatch();
Console.WriteLine($"Arrays 'searchThrough' and 'outputs' has '{searchThrough.Length}' elements.");
for (var i = 0; i < searchThrough.Length; i++)
if (!searchThrough[i].Equals(locate))
WriteOutput(locate, index, output, watch);
static void DoWithLinq(string locate, string[] searchThrough, string[] outputs)
Console.WriteLine("Using Linq...");
var watch = new Stopwatch();
var index = Array.FindIndex(searchThrough, s => s.Equals(locate));
output = index != -1 ? outputs[index] : null;
WriteOutput(locate, index, output, watch);
static void WriteOutput(string locate, int index, string output, Stopwatch watch)
Console.WriteLine($"Searching for: '{locate}'");
Console.WriteLine($"Index is: '{index}'");
Console.WriteLine($"Output is: '{output}'");
Console.WriteLine($"It took: '{watch.ElapsedTicks}' ticks");