Definering og Anvendelse af en Struktur
Du definerer en struktur ved at bruge følgende syntaks:
index.cs
1234567struct structureName { public datatype fieldName1; public datatype fieldName2; public datatype fieldName3; ... }
For eksempel kan du definere en struktur til at gemme nogle studentdata:
index.cs
12345678struct Student { public int id; public float age; public string name; public string course; public char grade; }
For at gemme data skal du oprette en instans (også kaldet et objekt) ved hjælp af denne struktur. En struktur er grundlæggende en brugerdefineret datatype, og kan derfor behandles som sådan. For at oprette et nyt objekt af strukturen anvendes følgende syntaks:
index.cs
1structName variableName;
Du kan oprette flere objekter af Student
-klassen, som alle kan gemme data:
index.cs
123Student student1; Student student2; Student student3;
Hvert objekt, du har oprettet, har det sæt felter, der er defineret i Student
-strukturen, og du kan gemme og tilgå data fra disse felter ved hjælp af syntaksen variableName.fieldName
. For eksempel kan du tilgå og udskrive name
-feltet for student2
:
index.cs
1Console.WriteLine(student2.name);
Når et tomt objekt oprettes, får felterne nulværdier afhængigt af deres datatyper:
string
- tom streng""
;char
- tomt tegn''
;int
-0
;float
-0.0
;bool
-false
.
Derfor vil student2.name
give en tom output.
Du kan gemme data i det ved hjælp af tildelingsoperatoren (=
):
index.cs
1student2.name = "Alex";
På denne måde kan du gemme data i alle tre objekter:
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}."); } }
Udtrykket variableName.fieldName
kan som helhed behandles som en variabel og det er derfor gyldigt at bruge det i strengformatering, som vist i eksemplet ovenfor.
1. Hvilket nøgleord bruges til at definere en struktur?
2. Hvad er outputtet af følgende kode?
Tak for dine kommentarer!
Spørg AI
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat
Can you explain what a structure is in programming?
How do I create an object using a structure?
Can you show an example of accessing and modifying fields in an object?
Awesome!
Completion rate improved to 2.04
Definering og Anvendelse af en Struktur
Stryg for at vise menuen
Du definerer en struktur ved at bruge følgende syntaks:
index.cs
1234567struct structureName { public datatype fieldName1; public datatype fieldName2; public datatype fieldName3; ... }
For eksempel kan du definere en struktur til at gemme nogle studentdata:
index.cs
12345678struct Student { public int id; public float age; public string name; public string course; public char grade; }
For at gemme data skal du oprette en instans (også kaldet et objekt) ved hjælp af denne struktur. En struktur er grundlæggende en brugerdefineret datatype, og kan derfor behandles som sådan. For at oprette et nyt objekt af strukturen anvendes følgende syntaks:
index.cs
1structName variableName;
Du kan oprette flere objekter af Student
-klassen, som alle kan gemme data:
index.cs
123Student student1; Student student2; Student student3;
Hvert objekt, du har oprettet, har det sæt felter, der er defineret i Student
-strukturen, og du kan gemme og tilgå data fra disse felter ved hjælp af syntaksen variableName.fieldName
. For eksempel kan du tilgå og udskrive name
-feltet for student2
:
index.cs
1Console.WriteLine(student2.name);
Når et tomt objekt oprettes, får felterne nulværdier afhængigt af deres datatyper:
string
- tom streng""
;char
- tomt tegn''
;int
-0
;float
-0.0
;bool
-false
.
Derfor vil student2.name
give en tom output.
Du kan gemme data i det ved hjælp af tildelingsoperatoren (=
):
index.cs
1student2.name = "Alex";
På denne måde kan du gemme data i alle tre objekter:
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}."); } }
Udtrykket variableName.fieldName
kan som helhed behandles som en variabel og det er derfor gyldigt at bruge det i strengformatering, som vist i eksemplet ovenfor.
1. Hvilket nøgleord bruges til at definere en struktur?
2. Hvad er outputtet af følgende kode?
Tak for dine kommentarer!