Array von Klassen

Ich habe ein problem mit meinem Programm ein wenig.

Ich eine Klasse angelegt, wie dies in meine Programme:

class ClassA
{
    public int number = -1;

    public Random rnd = new Random();
    public void randomize()
    {
         var random = rnd;
         number = rnd.next(4)+2;
    }

}

Ich im Begriff war zu erstellen und array, die jedes array enthält eine Klasse,
die ich wie folgt erstellt. Ich übertragen das array an eine neue Methode, damit ich überprüfen kann.

public static void Main()
{
    ClassA[,] arrayOfClass = new Class[6,6];
    ClassA classA= new Class();
    int i, j;
    for (i = 0; i < 6; i++)
    {
         for (j = 0; j < 6; j++)
         {

              classA.randomize();

              arrayOfClass[i, j] = classA;
         }
    }
    CheckClassA(arrayOfClass);
}
private void CheckClassA(ClassA[,] arrayOfClass)
{
     int i,j;
     for(i=0;i<6;i++)
     {
         for (j = 0; j < 6; j++)
         {
         Console.Writeline("Randoming : "+arrayOfClass[i,j].number);
         {
     }
}

Wenn ich diese, die nur für die Konsole produzieren die gleiche Anzahl über und über, aber anders auf jeden laufen, wie es nur randomize es einmal, dann nie, mischen Sie es erneut.

Meine Frage sind:
1. Warum mein Programm nur zufällig einmal, und wieder die gleiche Nummer auf allen den Wert des Arrays?
2. Funktioniert meine Methode der übertragung von array falsch?

Versuchte ich mit anderen Typ unten zu überprüfen, ob meine randomize gescheitert, aber Nein, es hat nicht wegen Ihrer Rückkehr die Zufallszahl als ich erwartet hatte.

    public static void Main()
    {
        ClassA[,] arrayOfClass = new Class[6,6];
        ClassA class= new Class();
        int i, j;
        for (i = 0; i < 6; i++)
        {
             for (j = 0; j < 6; j++)
             {

                  class.randomize();

                  arrayOfClass[i, j] = class;
                  Console.Writeline("Randoming : " + arrayOfClass[i,j].number);
             }
        }
    }

Jede Anregung und Hilfe appriciated. Dank

InformationsquelleAutor Diom | 2013-03-31

Schreibe einen Kommentar