性能对比 : Contains > Exists > Any
Contains, Exists, Any都可以实现判断元素是否存在。
Contains和Exists在System.Collections.Generic.List< T >下,
Any在System.Linq.Enumerable下
public static void Test_Contains_Exists_Any(int num)
{
List<int> list = new List<int>();
int N = num;
for (int i = 0; i <= N; i++)
{
list.Add(i);
}
System.Diagnostics.Stopwatch sw = new System.Diagnostics.Stopwatch();
sw.Start();
Console.WriteLine(list.Contains(N));
sw.Stop();
Console.WriteLine("Contains:" + sw.Elapsed.Milliseconds.ToString());
sw.Start();
Console.WriteLine(list.Exists(i => i == N));
sw.Stop();
Console.WriteLine("Exists:" + sw.Elapsed.Milliseconds.ToString());
sw.Start();
Console.WriteLine(list.Any(i => i == N));
sw.Stop();
Console.WriteLine("Any:" + sw.Elapsed.Milliseconds.ToString());
}