-2
は、だから私はこのC#ランダムジェネレータをシードすると、プログラムが停止するのはなぜですか?
static Random random = new Random(DateTime.Now.Millisecond);
ように私のクラスのいずれかに乱数発生器を宣言し、その関数が空白だった場合でも、クラス内の関数を呼び出すときに、実行されているから、全体のプログラムをブロックするように見えました。
static Random random = new Random();
しかし、これを実行すると、期待どおりに機能しましたか?コードと
EDIT:
このプログラムは、具体的にので、ここでXNAゲームは、更新機能
protected override void Update(GameTime gameTime)
{
Debug.WriteLine("This happenens");
EnemyController.generateEnemies();
Debug.WriteLine("This does not");
}
されており、ここで述べたように、他のクラス
public static class EnemyController
{
static Random random = new Random(DateTime.Now.Millisecond);
public static void generateEnemies()
{
Debug.writeLine("This code wont run");
}
}
何かが続いています。デバッグ時に実行中に中断した場合、プログラムは何行停止しますか? – Oded
これはおそらくここで重要ですが、あなたのプログラムはマルチスレッドですか? 'Random'はスレッドセーフではないので... –
' Random'スレッドセーフな方法については、こちらをご覧ください:http://blogs.msdn.com/b/pfxteam/archive/2009/02/19/ 9434171.aspx –