using System;
using System.Diagnostics;
using System.Collections.Generic;
using System.Linq;
public class Test
{
public static void Main()
{
var str = "abcdefghijklmnopqrstuvwxyz";
var r = new Random();
var sourceList = Enumerable.Range(0,1000000).Select(n=>str[r.Next(str.Length)].ToString()).ToArray();
var sw = new Stopwatch();
sw.Start();
var outList = new List<string>();
for(int i = 0; i < sourceList.Length; i++){
if(sourceList[i] == "a" || sourceList[i] == "b"){
outList.Add(sourceList[i]);
}
}
sw.Stop();
Console.WriteLine("for : " + sw.Elapsed);
sw.Reset();
sw.Start();
var outList2 = sourceList.Where(s=>s=="a" || s=="b").ToList();
sw.Stop();
Console.WriteLine("linq: " + sw.Elapsed);
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uRGlhZ25vc3RpY3M7CnVzaW5nIFN5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljOwp1c2luZyBTeXN0ZW0uTGlucTsKCnB1YmxpYyBjbGFzcyBUZXN0CnsKCXB1YmxpYyBzdGF0aWMgdm9pZCBNYWluKCkKCXsKCQl2YXIgc3RyID0gImFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6IjsKCQl2YXIgciA9IG5ldyBSYW5kb20oKTsKCQl2YXIgc291cmNlTGlzdCA9IEVudW1lcmFibGUuUmFuZ2UoMCwxMDAwMDAwKS5TZWxlY3Qobj0+c3RyW3IuTmV4dChzdHIuTGVuZ3RoKV0uVG9TdHJpbmcoKSkuVG9BcnJheSgpOwoJCQoJCXZhciBzdyA9IG5ldyBTdG9wd2F0Y2goKTsKCQkKCQlzdy5TdGFydCgpOwoJCXZhciBvdXRMaXN0ID0gbmV3IExpc3Q8c3RyaW5nPigpOwoJCWZvcihpbnQgaSA9IDA7IGkgPCBzb3VyY2VMaXN0Lkxlbmd0aDsgaSsrKXsKCQkJaWYoc291cmNlTGlzdFtpXSA9PSAiYSIgfHwgc291cmNlTGlzdFtpXSA9PSAiYiIpewoJCQkJb3V0TGlzdC5BZGQoc291cmNlTGlzdFtpXSk7CgkJCX0KCQl9CgkJc3cuU3RvcCgpOwoJCUNvbnNvbGUuV3JpdGVMaW5lKCJmb3IgOiAiICsgc3cuRWxhcHNlZCk7CgoJCXN3LlJlc2V0KCk7CgkJc3cuU3RhcnQoKTsKCQl2YXIgb3V0TGlzdDIgPSBzb3VyY2VMaXN0LldoZXJlKHM9PnM9PSJhIiB8fCBzPT0iYiIpLlRvTGlzdCgpOwoJCXN3LlN0b3AoKTsKCQlDb25zb2xlLldyaXRlTGluZSgibGlucTogIiArIHN3LkVsYXBzZWQpOwoJfQp9