using System;
using System.Collections.Generic;
using System.IO;
using System.Diagnostics;
namespace ConsoleApplication1
{
class Program
{
const int max = 7000;
static string[] GetArray()
{
List list = new List();
for (int i = 0; i < max; i++)
list.Add(Path.GetRandomFileName());
string[] array = list.ToArray();
Array.Sort(array);
return array;
}
static void Main(string[] args)
{
string[] array = GetArray();
var tm1 = Stopwatch.StartNew();
for (int i = 0; i < max; i++)
{
Array.BinarySearch(array, array[i % max]);
}
tm1.Stop();
var tm2 = Stopwatch.StartNew();
for (int i = 0; i < max; i++)
{
Array.FindIndex(array, element => element == array[i % max]);
}
tm2.Stop();
Console.WriteLine(tm1.Elapsed.TotalMilliseconds.ToString("0.00 ms")); // 6.44 ms // BinarySearch
Console.WriteLine(tm2.Elapsed.TotalMilliseconds.ToString("0.00 ms")); // 266.44 ms // FindIndex
}
}
}
/*
run:
6.44 ms
266.44 ms
*/