|
Categorieën >
Object georiënteerd
C#.NET variabele in object naam (Opgelost)
|
|
|
offline
|
Intern Manager
|
Hoi
Ik zou graag volgende code in een for loop willen krijgen, in C#.NET.
// Kaart 1
Kaart Kaart1 = new Kaart((char)r.Next(3, 6 + 1), (byte)r.Next(1, 13 + 1));
Kaart1.Uitvoer(Kaart1);
// Kaart 2
Kaart Kaart2 = new Kaart((char)r.Next(3, 6 + 1), (byte)r.Next(1, 13 + 1));
Kaart2.Uitvoer(Kaart2);
// Kaart 3
Kaart Kaart3 = new Kaart((char)r.Next(3, 6 + 1), (byte)r.Next(1, 13 + 1));
Kaart3.Uitvoer(Kaart3);
// Kaart 4
Kaart Kaart4 = new Kaart((char)r.Next(3, 6 + 1), (byte)r.Next(1, 13 + 1));
Kaart4.Uitvoer(Kaart4);
// Kaart 5
Kaart Kaart5 = new Kaart((char)r.Next(3, 6 + 1), (byte)r.Next(1, 13 + 1));
Kaart5.Uitvoer(Kaart5);
// Kaart 1 Kaart Kaart1 = new Kaart ((char)r. Next(3, 6 + 1), (byte)r. Next(1, 13 + 1));Kaart1.Uitvoer(Kaart1); // Kaart 2 Kaart Kaart2 = new Kaart ((char)r. Next(3, 6 + 1), (byte)r. Next(1, 13 + 1));Kaart2.Uitvoer(Kaart2); // Kaart 3 Kaart Kaart3 = new Kaart ((char)r. Next(3, 6 + 1), (byte)r. Next(1, 13 + 1));Kaart3.Uitvoer(Kaart3); // Kaart 4 Kaart Kaart4 = new Kaart ((char)r. Next(3, 6 + 1), (byte)r. Next(1, 13 + 1));Kaart4.Uitvoer(Kaart4); // Kaart 5 Kaart Kaart5 = new Kaart ((char)r. Next(3, 6 + 1), (byte)r. Next(1, 13 + 1));Kaart5.Uitvoer(Kaart5);
Iemand die weet hoe je dit doet in C#.NET ?
Joël |
5 antwoorden
|
|
|
offline
|
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(....);
|
titjes – 01/11/2007 10:56 (Laatst gewijzigd op 01/11/2007 10:57)
|
|
offline
|

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?
Kaart[] krt = new Kaart[5];
for(int i = 0; i < 5; i++)
{
Kaart krt[i] = new Kaart((char)r.Next(3, 6 + 1), (byte)r.Next(1, 13 + 1));
krt[i].Uitvoer(krt[i]);
}
Kaart [] krt = new Kaart [5]; for(int i = 0; i < 5; i++) { Kaart krt [i ] = new Kaart ((char)r. Next(3, 6 + 1), (byte)r. Next(1, 13 + 1)); krt[i].Uitvoer(krt[i]); }
Ongeveer zoals dit zou moeten kunnen werken.
|
Joel – 01/11/2007 11:11 (Laatst gewijzigd op 01/11/2007 11:11)
|
|
offline
|
Intern Manager
|
Nee, werkt niet:
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.
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)
S:\C# Labo\Oefening reeks 3\Kaarten\randomKaart.cs(32,14): error CS1002: ; expected
S:\C# Labo\Oefening reeks 3\Kaarten\randomKaart.cs(32,14): error CS1525: Invalid expression term '='
S:\C# Labo\Oefening reeks 3\Kaarten\randomKaart.cs(32,16): error CS1002: ; expected
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. 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) S:\C# Labo\Oefening reeks 3\Kaarten\randomKaart.cs(32,14): error CS1002: ; expected S:\C# Labo\Oefening reeks 3\Kaarten\randomKaart.cs(32,14): error CS1525: Invalid expression term '=' S:\C# Labo\Oefening reeks 3\Kaarten\randomKaart.cs(32,16): error CS1002: ; expected
|
|
|
|
offline
|

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.
|
Joel – 01/11/2007 16:38
|
|
offline
|
Intern Manager
|
Oops  Het werkt nu, tnx.
|
Dit onderwerp is gesloten.
|
|
|