これは本当に奇妙です。なぜこれが起こっているのかわかりません。 foreachサイクルでは、クラスAのコレクションを反復処理していますが、各クラスについて、r1
とr2
の数値が[-1,1]の範囲から生成されているCount()
メソッドを呼び出します。問題は、Random.Next
が各インスタンスに同じ "ランダム"番号を返すことです。最初のインスタンスの結果が0と-1の場合、次のインスタンスから同じ結果が返されます。なぜ、これが起こっているのか教えてください。また、クラスAのインスタンスごとに異なる結果を得ることはできません。これはコードです:Random.Nextは常に同じ値を返します
class a
{
Random rnd = new Random();
private void Count()
{
int r1 = rnd.Next(-1, 1);
int r2 = rnd.Next(-1, 1);
}
}
class b
{
List<a> listofA=new list<a>();
foreach (a ACLASS in listofA)
{
ACLASS.Count();
}
}
-1,0よりも範囲にあなたの番号を与えるために、私は戻って一日中用のビンゴカートンを作る同じ問題を持っていましたクラブ、それから当時私は、これまでに知られていた最悪のトリックを使いました。経験の浅い狂気のためにスレッドを休止しました... クレイジーなことに、静的なランダムな宣言すべての。 –