【发布时间】:2013-10-10 23:06:25
【问题描述】:
我尝试了几种方法,但没有找到我需要的。
我的目标:使用 UInt32 的每个可能值运行一个函数并记录结果。
uint 的顺序无关紧要,但我更喜欢非顺序。
有什么想法吗?
这些是我尝试过的一些:
for ( var u = UInt32.MinValue; u < UInt32.MaxValue; u++ ) { Debug.WriteLine( u ); } //works, but sequential
var list = Enumerable.Range( Int32.MinValue, Int32.MaxValue ).Select( i => ( UInt32 ) i ); //works, but sequential
var list = Enumerable.Range( Int32.MinValue, Int32.MaxValue ).OrderBy( o => rnd.Next() ).Select( i => ( UInt32 ) i ); //OutOfMemoryException because of the OrderBy
我还尝试分配一个数组并交换所有元素,但我手边没有那个代码。但它也抛出了 OutOfMemoryException。
我将研究下一个策略,将 UInt32 范围分成可管理的块。
之后的下一个策略是填充 sql 表并查看随机排序需要多长时间。
我希望有人有一个有用的提示。
编辑:Ilya Bursov 的想法可能会奏效.. 谢谢!
【问题讨论】:
-
我们需要查看您尝试过的代码。
-
为什么投反对票?我已经列出了我尝试过的内容。