Klasse-objecten
Een object van een klasse kan worden aangemaakt met de volgende syntaxis:
index.cs
1className variableName = new className();
Het veld van een klasse kan worden benaderd met de punt (.
) operator:
index.cs
1variableName.fieldName
Bijvoorbeeld:
index.cs
12345678910111213141516using System; class Player { public string username; } public class ConsoleApp { public static void Main(string[] args) { Player p1= new Player(); p1.username = "Don"; Console.WriteLine(p1.username); } }
De expressie new Player();
wordt gebruikt om een nieuw object aan te maken, terwijl Player p1
wordt gebruikt om een variabele te maken waarin dat nieuwe object kan worden opgeslagen. Dus alleen Player p1;
schrijven maakt enkel een lege variabele aan zonder dat er een object in zit; daarom moet je een nieuw object aanmaken en dit vervolgens in een variabele opslaan: Player p1 = new Player();
.
Als je dus een Array van grootte 10
maakt met behulp van de Player
-klasse, worden er niet 10 objecten aangemaakt, maar wordt er een lege array aangemaakt met een capaciteit om 10 Player-objecten op te slaan. Dit wordt verduidelijkt in het volgende voorbeeld:
index.cs
12345678910111213141516using System; class Player { public string username; } public class ConsoleApp { public static void Main(string[] args) { Player[] players = new Player[10]; players[0].username = "Don"; // Error on this line Console.WriteLine(players[0].username); } }
De foutmelding luidt "Object reference not set to an instance of an object", wat simpelweg betekent dat je probeert gegevens te benaderen van een object dat niet bestaat - er is geen object om te benaderen op index 0
.
Dit kan worden opgelost door handmatig een object aan te maken op index 0
:
index.cs
12345678910111213141516using System; class Player { public string username; } public class ConsoleApp { public static void Main(string[] args) { Player[] players = new Player[10]; players[0] = new Player(); players[0].username = "Don"; Console.WriteLine(players[0].username); } }
Bedankt voor je feedback!
Vraag AI
Vraag AI
Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.
Awesome!
Completion rate improved to 2.04
Klasse-objecten
Veeg om het menu te tonen
Een object van een klasse kan worden aangemaakt met de volgende syntaxis:
index.cs
1className variableName = new className();
Het veld van een klasse kan worden benaderd met de punt (.
) operator:
index.cs
1variableName.fieldName
Bijvoorbeeld:
index.cs
12345678910111213141516using System; class Player { public string username; } public class ConsoleApp { public static void Main(string[] args) { Player p1= new Player(); p1.username = "Don"; Console.WriteLine(p1.username); } }
De expressie new Player();
wordt gebruikt om een nieuw object aan te maken, terwijl Player p1
wordt gebruikt om een variabele te maken waarin dat nieuwe object kan worden opgeslagen. Dus alleen Player p1;
schrijven maakt enkel een lege variabele aan zonder dat er een object in zit; daarom moet je een nieuw object aanmaken en dit vervolgens in een variabele opslaan: Player p1 = new Player();
.
Als je dus een Array van grootte 10
maakt met behulp van de Player
-klasse, worden er niet 10 objecten aangemaakt, maar wordt er een lege array aangemaakt met een capaciteit om 10 Player-objecten op te slaan. Dit wordt verduidelijkt in het volgende voorbeeld:
index.cs
12345678910111213141516using System; class Player { public string username; } public class ConsoleApp { public static void Main(string[] args) { Player[] players = new Player[10]; players[0].username = "Don"; // Error on this line Console.WriteLine(players[0].username); } }
De foutmelding luidt "Object reference not set to an instance of an object", wat simpelweg betekent dat je probeert gegevens te benaderen van een object dat niet bestaat - er is geen object om te benaderen op index 0
.
Dit kan worden opgelost door handmatig een object aan te maken op index 0
:
index.cs
12345678910111213141516using System; class Player { public string username; } public class ConsoleApp { public static void Main(string[] args) { Player[] players = new Player[10]; players[0] = new Player(); players[0].username = "Don"; Console.WriteLine(players[0].username); } }
Bedankt voor je feedback!