いくつかの方法を試しましたが、必要なものが見つかりませんでした。
私の目標: UInt32 の可能な値ごとに関数を実行し、結果を記録します。
uints の順序は重要ではありませんが、私はnon-sequentialを好みます。
何か案は?
これらは私が試したものです:
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 テーブルにデータを入力し、ランダムな並べ替えにかかる時間を確認することです。
誰かが役立つヒントを持っていることを願っています。
EDIT:Ilya Bursovのアイデアがうまくいくかもしれません..ありがとう!