Datenstrukturen



  • Guten Tag,
    ich habe hier einen Array, eine Liste und ein Dictionary erstellt.

    private int wert;
    private int[] array = new int[10000] ;
    private List<int> liste = new List<int>();
    private Dictionary<int, int> dictionary = new Dictionary<int, int>();

    Nun soll ich eine Methode srtellen, die Array, Liste und Dictionary mit den Zahlen 1 bis 10000 füllt.

    Ich habe das folgendermaßen gemacht:

    public int Init(int wert)
    {
    for (int i = 0; i < 10000; i++)
    {
    wert = array[i];

    // //liste.Add(i);
    // //wert = dictionary[i];
    }

    MessageBox.Show(wert.ToString());

    return wert;
    }

    Klappt aber nicht. Wo liegt der Fehler. Brauch ich überhaupt eine Schleife?

    Vielen Dank!
    Liebe Grüße
    Sonnenschein5



  • Nun soll ich eine Methode srtellen, die Array, Liste und Dictionary mit den Zahlen 1 bis 10000 füllt.

    Hausaufgaben?

    1. Wo füllst du das Array mir richtigen Zahlen?
    2. gib immer an was genau passiert und was man erwartet, ein "geht nicht" hilft niemanden

    array = Enumerable.Range(1, 10000).ToArray(); - sowas wäre ne Möglichkeit um ein Array mit den Zahlen zu haben



  • In der Zeile

    wert=array[i]

    willst Du wahrscheinlich array[i] mit einem Wert füllen. Der Zuweisungsoperator "=" funktioniert anders herum:

    Ziel = Quelle

    Außerdem weist Du jeder Arrayposition dieselbe Zahl wert zu. Das ist die, die der Methode Init() als Parameter übergeben worden ist.
    Du willst aber den aktuellen Wert der variable i übergeben.



  • for (int i = 0; i < 10000; i++) 
    {
     array[i] = i + 1;
     liste.Add(i + 1);
     dictionary.Add(i,i + 1);
    }
    

    i + 1, da der Wertebereich ja von 1 bis inkl. 10000 gehen soll und nicht von 0 bis 9999. Mehr muss man auch laut deiner Aufgabenstellung nicht machen. Die Variable "wert" ist total überflüssig.

    Gruß Ape


Anmelden zum Antworten