login  Naam:   Wachtwoord: 
Registreer je!
 Forum

C#.NET variabele in object naam (Opgelost)

Offline Joel - 31/10/2007 15:02
Avatar van JoelEigenaar Hoi

Ik zou graag volgende code in een for loop willen krijgen, in C#.NET.
  1. // Kaart 1
  2. Kaart Kaart1 = new Kaart((char)r.Next(3, 6 + 1), (byte)r.Next(1, 13 + 1));
  3. Kaart1.Uitvoer(Kaart1);
  4.  
  5. // Kaart 2
  6. Kaart Kaart2 = new Kaart((char)r.Next(3, 6 + 1), (byte)r.Next(1, 13 + 1));
  7. Kaart2.Uitvoer(Kaart2);
  8.  
  9. // Kaart 3
  10. Kaart Kaart3 = new Kaart((char)r.Next(3, 6 + 1), (byte)r.Next(1, 13 + 1));
  11. Kaart3.Uitvoer(Kaart3);
  12.  
  13. // Kaart 4
  14. Kaart Kaart4 = new Kaart((char)r.Next(3, 6 + 1), (byte)r.Next(1, 13 + 1));
  15. Kaart4.Uitvoer(Kaart4);
  16.  
  17. // Kaart 5
  18. Kaart Kaart5 = new Kaart((char)r.Next(3, 6 + 1), (byte)r.Next(1, 13 + 1));
  19. Kaart5.Uitvoer(Kaart5);


Iemand die weet hoe je dit doet in C#.NET ?

Joël

5 antwoorden

Gesponsorde links
Offline cloudstrife - 31/10/2007 15:21
Avatar van cloudstrife PHP beginner Gewoon ipv kaart1, kaart2 te gebruiken maak je een array van het type Kaart en vul je deze met je loop via kaart[i] = new Kaart(....);
Offline Abbas - 01/11/2007 10:56 (laatste wijziging 01/11/2007 10:57)
Avatar van Abbas Gouden medaille

Crew .NET
Zoals cloudstrife het zegt zou het moeten kunnen. Al vind ik het niet slim dat je als variabele-naam hetzelfde gebruikt als het type, dat zou zijn zoiets als 'string string1 = new string(...)'. Snap je?

  1. Kaart[] krt = new Kaart[5];
  2.  
  3. for(int i = 0; i < 5; i++)
  4. {
  5. Kaart krt[i] = new Kaart((char)r.Next(3, 6 + 1), (byte)r.Next(1, 13 + 1));
  6. krt[i].Uitvoer(krt[i]);
  7. }

Ongeveer zoals dit zou moeten kunnen werken.
Offline Joel - 01/11/2007 11:11 (laatste wijziging 01/11/2007 11:11)
Avatar van Joel Eigenaar Nee, werkt niet:

  1. S:\C# Labo\Oefening reeks 3\Kaarten\randomKaart.cs(32,10): error CS0650: Syntax error, bad array declarator. To declare a managed array the rank specifier precedes the variable's identifier. To declare a fixed size buffer field, use the fixed keyword before the field type.
  2. S:\C# Labo\Oefening reeks 3\Kaarten\randomKaart.cs(32,11): error CS0270: Array size cannot be specified in a variable declaration (try initializing with a 'new' expression)
  3. S:\C# Labo\Oefening reeks 3\Kaarten\randomKaart.cs(32,14): error CS1002: ; expected
  4. S:\C# Labo\Oefening reeks 3\Kaarten\randomKaart.cs(32,14): error CS1525: Invalid expression term '='
  5. S:\C# Labo\Oefening reeks 3\Kaarten\randomKaart.cs(32,16): error CS1002: ; expected
Offline Abbas - 01/11/2007 12:21
Avatar van Abbas Gouden medaille

Crew .NET
Als je een beetje goed had gekeken had je gezien dat ik een fout heb gemaakt, namelijk dat ik in de for-loop nog eens de array declareer. Het moet gewoon zijn 'krt[i] = new ...' in die loop.
Offline Joel - 01/11/2007 16:38
Avatar van Joel Eigenaar Oops Het werkt nu, tnx.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.173s