我想最小化从列表中检索单个唯一元素所需的时间.哪一个是最快的方法Find,Single和First?请注意,搜索键是唯一的ID.
我是比较时机与寻找true一个值List<bool>使用List.Contains()与那些手卷循环.
我看到其他人报道的结果不同.我已经在几个系统上尝试过它,在我尝试过的所有系统上,循环看起来要快2到3.5倍.这些系统的范围从运行XP.4的笔记本电脑到运行Windows 8和.Net 4.5的最新PC.
其他人报告的结果不同,即List.Contains()与循环速度大致相同或略快于循环.
这是我的测试代码.
using System;
using System.Collections.Generic;
using System.Diagnostics;
namespace ConsoleApplication1
{
internal class Program
{
private static void Main()
{
int size = 10000000;
int count = 10;
List<bool> data = new List<bool>(size);
for (int i = 0; i < size; ++i)
data.Add(false);
var sw = new Stopwatch();
for (int trial = 0; trial < 5; ++trial)
{
sw.Restart();
for (int i = 0; i …Run Code Online (Sandbox Code Playgroud)