Autor Beitrag
craash
Hält's aus hier
Beiträge: 4



BeitragVerfasst: Do 30.09.10 14:25 
Hallo,

ich habe gerade längere Zeit gerätselt, wieso ein Programm nicht lief, in dem einem Array mit Hilfe einer for-Schleife Objekte zugewiesen werden sollten. Weder der Compiler meldete sich noch eine hilfreiche Fehlermeldung..

Entsprechend groß war meine Überraschung dann als ich aus purer Verzweiflung einen Ausdruck in der for-Schleife verändert habe und - tadaa es lief^^

Vorher:
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
Integernumber[] IntArray = new Integernumber[4];
Random rnd = new Random();
Int32 random;

for (Int32 i = 0; i == 3; i++)
            {
                random = rnd.Next();
                IntArray[i] = new Integernumber(random);       
            }


Nachher:
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
for (Int32 i = 0; i < 4; i++)
            {
                random = rnd.Next();
                IntArray[i] = new Integernumber(random);       
            }


(Der Vollständigkeit halber:)
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
//Konstruktor
        public Integernumber(Int32 intNo)
        {
            IntNumber = intNo;
        }



Wieso funktioniert die erste Schleife nicht? Dem Array werden einfach keine Werte zugewiesen bzw. bleiben alle auf null stehen.

Grüße
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4708
Erhaltene Danke: 991


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Do 30.09.10 14:31 
Die Aussage des vorher Codes ist 'führe die Schleife aus solange i gleich 3 ist'
die Aussage der nachher Codes ist 'führe die Schleife aus solange i kleiner 4 ist'.

Die Pointe wirst du jetzt wahrscheinlich selbst erkennen.
craash Threadstarter
Hält's aus hier
Beiträge: 4



BeitragVerfasst: Do 30.09.10 14:38 
Hmm dann war ich wohl zu sehr an Delphis

for x=0 to x=5 do ...

gewöhnt.

Danke ;-)


Grüße