[C#] int nawArrayLength = 5; Bij afdrukken 0 ipv 5.

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • Twazerty
  • Registratie: April 2006
  • Laatst online: 23:14

Twazerty

AVCHDCoder developer

Topicstarter
Heb een dik vet probleem en weet niet wat de oorzaak is. Onderstaande code is een fragment. Bovenaan in mijn classe zet ik nawArrayLength op 5. In mijn constructor wil ik de waarde afdrukken. Tot mijn verbazing word er geen 5 maar 0 afgedrukt. Ik was wat aan het renamen aan de classenamen in Microsoft Visual Studio en sindsdien werkt het niet meer. De rest van de code werkt wel gewoon. Voorheen hoogde nawArrayLength++; mijn waarde telkens met 1 op. Sinds de wijziging in classenamen werkt dat ook niet meer. Ik snap er echt niks van waarom dat niet gewoon werkt. Is gewoon enorm simpel en logisch iets. Als ik in de constructor de waarde set word er gewoon 0 afgedrukt.

Wellicht doe ik iets verkeerd maar ik weet niet wat. Echt klote dit. Kan zo niet verder met mijn huiswerk :(
Zijn dit blok met C# begonnen en ken heel Visual Studio nog niet echt.
C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
namespace Opdrachten1tot4
{
    class Deel1Opdracht1tot4
    {
        NAW[] nawArray = new NAW[20];
        int nawArrayLength = 5;
        public Deel1Opdracht1tot4()
        {
            for (int i = 0; i < 10; i++)
            {
                nawArray[i] = new NAW();
                nawArray[i].SetNaam("Hans " + i);
                nawArray[i].SetAdres("Wanmolen " + i);
                nawArray[i].SetWoonplaats("Berghem " + i);
                //nawArrayLength++;
                
            }
            Console.WriteLine(nawArrayLength);
        }


Bij het debuggen:
Tot mijn grote verbazing word de array niet eens goed gevuld. Voorheen wel. Nu opeens niet meer.
De plaatsen 0 tot en met 4 bevatten een 4 op de plaats van de i. En de rest wel gewoon zoals de loop hoort te gaan. array plaats 5 bevat Hans 5 en 6 Hans 6 behalve 0 tot en met 4. plaats 0 bevat Hans 4; :(

Bij het afdrukken van de waarden die ik in de loop maak klopt het wel allemaal.


Damit laten we het hier maar niet over hebben. Op een of andere manier is er oude code teruggesprongen.

[ Voor 13% gewijzigd door Twazerty op 09-02-2009 01:33 ]

Ruisende versterker: schakel je subwoofer in.


Acties:
  • 0 Henk 'm!

  • Down
  • Registratie: Februari 2005
  • Laatst online: 22:38
Console.WriteLine verwacht een string. Probeer eens:

code:
1
Console.WriteLine(nawArrayLength.ToString());


Bedoel je met debuggen trouwens echt debuggen met de debugger en breakpoints of dingen naar de console schrijven?

Mother north, how can they sleep while their beds are burning?


Acties:
  • 0 Henk 'm!

  • Twazerty
  • Registratie: April 2006
  • Laatst online: 23:14

Twazerty

AVCHDCoder developer

Topicstarter
Imodium schreef op maandag 09 februari 2009 @ 01:24:
Console.WriteLine verwacht een string. Probeer eens:

code:
1
Console.WriteLine(nawArrayLength.ToString());


Bedoel je met debuggen trouwens echt debuggen met de debugger en breakpoints of dingen naar de console schrijven?
Gewoon de debugger. En als controle de console.

Maar het is al opgelost volgens mij. Op vreemde wijze stond er plots weer oude code die de nawArray leeggooide.

Ruisende versterker: schakel je subwoofer in.


Acties:
  • 0 Henk 'm!

  • whoami
  • Registratie: December 2000
  • Laatst online: 21:57
Fijn te horen dat het ondertussen opgelost is.
Wat is de bedoeling eigenlijk van de variable nawArrayLength ? Ik zie er het nut niet van in ?

https://fgheysels.github.io/


Acties:
  • 0 Henk 'm!

  • Haan
  • Registratie: Februari 2004
  • Laatst online: 21:05

Haan

dotnetter

Ik vind het nog dubieuzer dat je Set methoden krijgt aangeleerd, in plaats van Properties te gebruiken.

Kater? Eerst water, de rest komt later


Acties:
  • 0 Henk 'm!

  • Amras
  • Registratie: Januari 2003
  • Laatst online: 18:13
whoami schreef op maandag 09 februari 2009 @ 09:05:
Fijn te horen dat het ondertussen opgelost is.
Wat is de bedoeling eigenlijk van de variable nawArrayLength ? Ik zie er het nut niet van in ?
Misschien om bij te houden hoeveel elementen er daadwerkelijk in het array zitten? ;)

Acties:
  • 0 Henk 'm!

Verwijderd

Dat zijn er, in dit geval, toch:
C#:
1
for(int i = 0; i < 10; i++)

Die extra variabele is dus overbodig.

[ Voor 17% gewijzigd door Verwijderd op 09-02-2009 09:34 ]


Acties:
  • 0 Henk 'm!

  • Amras
  • Registratie: Januari 2003
  • Laatst online: 18:13
Verwijderd schreef op maandag 09 februari 2009 @ 09:29:
Dat zijn er, in dit geval, toch:
C#:
1
for(int i = 0; i < 10; i++)

Die extra variabele is dus overbodig.
Mee eens, in dit geval is het niet nodig. Maar als hij het verder in de class nog eens wil gebruiken, dan wel. (Dat is inderdaad een aanname ;))

Acties:
  • 0 Henk 'm!

  • whoami
  • Registratie: December 2000
  • Laatst online: 21:57
Waarom dan een array gebruiken, en geen List ?

https://fgheysels.github.io/


Acties:
  • 0 Henk 'm!

  • Amras
  • Registratie: Januari 2003
  • Laatst online: 18:13
whoami schreef op maandag 09 februari 2009 @ 11:04:
Waarom dan een array gebruiken, en geen List ?
Omdat dat waarschijnlijk niet in de opdrachtomschrijving stond. Gezien de namen van z'n klassen/methoden, zal het wel om een schoolopdracht oid gaan. ;)

We gaan wel erg offtopic nu trouwens. :)
Pagina: 1