いくつかのメソッドA()、B()およびC()をランダムな順序で実行するC#プログラムを記述したいと思います。どうやってやるの?乱数ジェネレータを仮定しメソッドはランダムな順序で呼び出す(C#)
6
A
答えて
14
は次のように宣言:
public static Random Rnd = new Random();
はのは、ランダムな順序にリストを持ってShuffle
関数を定義してみましょう:
/// <summary>
/// Brings the elements of the given list into a random order
/// </summary>
/// <typeparam name="T">Type of elements in the list.</typeparam>
/// <param name="list">List to shuffle.</param>
/// <returns>The list operated on.</returns>
public static IList<T> Shuffle<T>(this IList<T> list)
{
if (list == null)
throw new ArgumentNullException("list");
for (int j = list.Count; j >= 1; j--)
{
int item = Rnd.Next(0, j);
if (item < j - 1)
{
var t = list[item];
list[item] = list[j - 1];
list[j - 1] = t;
}
}
return list;
}
romkynsのこのシャッフル実装の礼儀!
今すぐ簡単にリストのメソッドを入れて、シャッフルは、それらを実行します。
var list = new List<Action> { A, B, C };
list.Shuffle();
list.ForEach(method => method());
関連する問題
- 1. PHP ::: 2 AJAX呼び出し::: 2レスポンス:::順序順序で
- 2. Moqメソッドの呼び出し順序の比較
- 3. メソッド呼び出しの順
- 4. SilverStripeランダムな順序は
- 5. Silverlight。トリガーの呼び出し順序
- 6. Python関数の呼び出し順序
- 7. デストラクタの呼び出し順序とポイント
- 8. メソッド呼び出しの順序があいまいで不定な
- 9. エージェントがプロシージャを呼び出す順序をランダム化しますか?
- 10. C++と関数呼び出しの評価順序
- 11. なぜランダムな順序
- 12. スレッド内で呼び出されたメソッドが予期しない順序で実行される(C#.net)
- 13. Angular2:@Inputセッターを特定の順序で呼び出すには?
- 14. メソッドの呼び出し順序をC#で明示的にする方法はありますか?
- 15. SharePoint WebパーツのCreateChildControls()およびApplyChanges()メソッドの呼び出しの順序
- 16. 同期メソッドを呼び出す順
- 17. メソッドを呼び出す、C#
- 18. C#メソッドを呼び出す
- 19. C#でメソッド/呼び出しを別のメソッドから呼び出す方法は?
- 20. グローバルなコンストラクタはどのような順序で呼び出されますか
- 21. cの関数の呼び出し順序を表示する方法は?
- 22. 値を返す同期された "呼び出し順序認識"メソッド
- 23. ノードエクスプレス:呼び出しの順序は関係しますか?
- 24. C#はWebメソッドを呼び出す
- 25. C#で静的メソッドを呼び出す
- 26. クラスCでメソッドを呼び出す#
- 27. c# - パラメータでメソッドを呼び出す
- 28. C#でメソッドを呼び出す方法
- 29. FirebaseがgetDownloadURLをループで呼び出すと、ランダムな順番で戻ります
- 30. 仮想継承のコンストラクタ呼び出しの順序は?
Gjorgji、GUIDのアイデアがひどいです。最低でもランダムで注文してください - またはより良い方法では、最も投票されたアルゴリズムを使用してください。それらの投票からヒントを取ってください - コミュニティはあなたにどれが良いかを教えています。 –
非常に恐ろしいアイデアなので、Googleで見つからないのはなぜですか?http://www.google.com/search?q=orderby+%22Guid.NewGuid%22 –
@Pauli、あなたの信念はGoogleで見つけたものは自動的に良いアイデアですか? –