Definere og Bruke en Struktur
Du definerer en struktur ved å bruke følgende syntaks:
index.cs
1234567struct structureName { public datatype fieldName1; public datatype fieldName2; public datatype fieldName3; ... }
For eksempel kan du definere en struktur for å lagre noen studentdata:
index.cs
12345678struct Student { public int id; public float age; public string name; public string course; public char grade; }
For å lagre data må du opprette en instans (også kalt et objekt) ved å bruke denne strukturen. En struktur er i hovedsak en egendefinert datatyp, og kan derfor behandles som en slik. For å opprette et nytt objekt av strukturen, bruker du følgende syntaks:
index.cs
1structName variableName;
Du kan opprette flere objekter av Student
-klassen, som alle kan lagre data:
index.cs
123Student student1; Student student2; Student student3;
Hvert objekt du har opprettet har feltene som er definert i Student
-strukturen, og du kan lagre og få tilgang til data fra disse feltene ved å bruke syntaksen variableName.fieldName
. For eksempel kan du få tilgang til og skrive ut name
-feltet til student2
:
index.cs
1Console.WriteLine(student2.name);
Når et tomt objekt opprettes, får feltene nullverdier avhengig av deres datatyper:
string
– tom streng""
;char
– tomt tegn''
;int
–0
;float
–0.0
;bool
–false
.
Derfor vil student2.name
gi en tom verdi som resultat.
Du kan lagre data i det ved å bruke tildelingsoperatoren (=
):
index.cs
1student2.name = "Alex";
På denne måten kan du lagre data i alle de tre objektene:
index.cs
123456789101112131415161718192021222324252627282930313233343536373839using System; struct Student { public int id; public float age; public string name; public string course; public char grade; } class ConsoleApp { static void Main(string[] args) { Student student1; student1.id = 1; student1.name = "Abigail"; student1.age = 21; student1.course = "C#"; student1.grade = 'A'; Console.WriteLine($"{student1.name} is {student1.age} years old."); Student student2; student2.id = 2; student2.name = "Alex"; student2.age = 22; student2.course = "C#"; student2.grade = 'B'; Console.WriteLine($"{student2.name} has a {student2.grade} in {student2.course}."); Student student3; student3.id = 3; student3.name = "Jennifer"; student3.age = 19; student3.course = "C#"; student3.grade = 'A'; Console.WriteLine($"{student3.name} studies {student3.course}."); } }
Uttrykket variableName.fieldName
kan behandles som en variabel, og det er derfor gyldig å bruke det i strengformatering slik det er brukt i eksempelet ovenfor.
1. Hvilket nøkkelord brukes for å definere en struktur?
2. Hva er utdataene fra følgende kode?
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
Definere og Bruke en Struktur
Sveip for å vise menyen
Du definerer en struktur ved å bruke følgende syntaks:
index.cs
1234567struct structureName { public datatype fieldName1; public datatype fieldName2; public datatype fieldName3; ... }
For eksempel kan du definere en struktur for å lagre noen studentdata:
index.cs
12345678struct Student { public int id; public float age; public string name; public string course; public char grade; }
For å lagre data må du opprette en instans (også kalt et objekt) ved å bruke denne strukturen. En struktur er i hovedsak en egendefinert datatyp, og kan derfor behandles som en slik. For å opprette et nytt objekt av strukturen, bruker du følgende syntaks:
index.cs
1structName variableName;
Du kan opprette flere objekter av Student
-klassen, som alle kan lagre data:
index.cs
123Student student1; Student student2; Student student3;
Hvert objekt du har opprettet har feltene som er definert i Student
-strukturen, og du kan lagre og få tilgang til data fra disse feltene ved å bruke syntaksen variableName.fieldName
. For eksempel kan du få tilgang til og skrive ut name
-feltet til student2
:
index.cs
1Console.WriteLine(student2.name);
Når et tomt objekt opprettes, får feltene nullverdier avhengig av deres datatyper:
string
– tom streng""
;char
– tomt tegn''
;int
–0
;float
–0.0
;bool
–false
.
Derfor vil student2.name
gi en tom verdi som resultat.
Du kan lagre data i det ved å bruke tildelingsoperatoren (=
):
index.cs
1student2.name = "Alex";
På denne måten kan du lagre data i alle de tre objektene:
index.cs
123456789101112131415161718192021222324252627282930313233343536373839using System; struct Student { public int id; public float age; public string name; public string course; public char grade; } class ConsoleApp { static void Main(string[] args) { Student student1; student1.id = 1; student1.name = "Abigail"; student1.age = 21; student1.course = "C#"; student1.grade = 'A'; Console.WriteLine($"{student1.name} is {student1.age} years old."); Student student2; student2.id = 2; student2.name = "Alex"; student2.age = 22; student2.course = "C#"; student2.grade = 'B'; Console.WriteLine($"{student2.name} has a {student2.grade} in {student2.course}."); Student student3; student3.id = 3; student3.name = "Jennifer"; student3.age = 19; student3.course = "C#"; student3.grade = 'A'; Console.WriteLine($"{student3.name} studies {student3.course}."); } }
Uttrykket variableName.fieldName
kan behandles som en variabel, og det er derfor gyldig å bruke det i strengformatering slik det er brukt i eksempelet ovenfor.
1. Hvilket nøkkelord brukes for å definere en struktur?
2. Hva er utdataene fra følgende kode?
Takk for tilbakemeldingene dine!