测试代码如下:
List
int N=1000000;
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));="" console.writeline(list.any(i=""> i == N));
//Console.WriteLine(list.Exists(i => i == N));
sw.Stop();
Console.WriteLine(sw.Elapsed.ToString());
N=1000000 N=10000000 N=100000000
Contains 0.0042733(s) 0.0294047(s) 0.3624644(s)
Exists 0.0059634(s) 0.0420811(s) 0.4055032(s)
Any 0.0128684(s) 0.1084404(s) 1.1051506(s)
根据上表结果显示,性能从高到低的次序如下:
Contains>Exists>Any
之后没再定义这个变量么。
要么就是注释的问题,在“ // 控制……”的最后加一个 //
汉字注释容易出这个问题