在探索最近的Linq问题时,我注意到算法似乎相当慢.深入挖掘我注意到它不是linq代码,但结果的输出后来耗费了很长时间.(感谢Marc Gravel顺便说一句,我已经看过了最简单的Linq.)
码:
DateTime dt = DateTime.Now;
Console.WriteLine("Alg Start " + dt.Second + "." + dt.Millisecond);
var qry = from l in Enumerable.Range(100000, 999999)
let s = l.ToString()
let sReversed = new string(s.Reverse().ToArray())
from i in Enumerable.Range(3, 9)
let t = (l * i).ToString()
where t == sReversed
select new { l, i };
dt = DateTime.Now;
Console.WriteLine("Alg End " + dt.Second + "." + dt.Millisecond);
foreach (var row in qry)
Console.WriteLine("{0} x {1} = {2}", row.l, row.i, …Run Code Online (Sandbox Code Playgroud)