Klasseobjekter
Et objekt av en klasse kan opprettes ved å bruke følgende syntaks:
index.cs
1className variableName = new className();
Du kan få tilgang til et felt i en klasse ved å bruke punktumoperatoren (.):
index.cs
1variableName.fieldName
For eksempel:
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); } }
Uttrykket new Player(); brukes for å opprette et nytt objekt, mens Player p1 brukes for å opprette en variabel for å lagre det nye objektet. Å kun skrive Player p1; vil derfor bare opprette en tom variabel uten noe objekt inni, så du må opprette et nytt objekt og deretter lagre det i en variabel: Player p1 = new Player();.
Hvis du dermed oppretter et array med størrelse 10 ved å bruke Player-klassen, vil det ikke opprette 10 objekter, men heller et tomt array med kapasitet til å lagre 10 Player-objekter. Dette kan illustreres med følgende eksempel:
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); } }
Feilmeldingen sier "Object reference not set to an instance of an object", som ganske enkelt betyr at du prøver å få tilgang til data fra et objekt som ikke finnes – det er ikke noe objekt å få tilgang til på indeks 0.
Dette kan løses ved å manuelt opprette et objekt på indeks 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); } }
Takk for tilbakemeldingene dine!
Spør AI
Spør AI
Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår
Awesome!
Completion rate improved to 2.04
Klasseobjekter
Sveip for å vise menyen
Et objekt av en klasse kan opprettes ved å bruke følgende syntaks:
index.cs
1className variableName = new className();
Du kan få tilgang til et felt i en klasse ved å bruke punktumoperatoren (.):
index.cs
1variableName.fieldName
For eksempel:
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); } }
Uttrykket new Player(); brukes for å opprette et nytt objekt, mens Player p1 brukes for å opprette en variabel for å lagre det nye objektet. Å kun skrive Player p1; vil derfor bare opprette en tom variabel uten noe objekt inni, så du må opprette et nytt objekt og deretter lagre det i en variabel: Player p1 = new Player();.
Hvis du dermed oppretter et array med størrelse 10 ved å bruke Player-klassen, vil det ikke opprette 10 objekter, men heller et tomt array med kapasitet til å lagre 10 Player-objekter. Dette kan illustreres med følgende eksempel:
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); } }
Feilmeldingen sier "Object reference not set to an instance of an object", som ganske enkelt betyr at du prøver å få tilgang til data fra et objekt som ikke finnes – det er ikke noe objekt å få tilgang til på indeks 0.
Dette kan løses ved å manuelt opprette et objekt på indeks 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); } }
Takk for tilbakemeldingene dine!