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 niemandenarray = 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