Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Rakenteen Määrittely ja Käyttö | Rakenteet ja Enumeraattorit
C# Perusteiden Jälkeen

bookRakenteen Määrittely ja Käyttö

Rakenne määritellään seuraavalla syntaksilla:

index.cs

index.cs

copy
1234567
struct structureName { public datatype fieldName1; public datatype fieldName2; public datatype fieldName3; ... }

Esimerkiksi voit määritellä rakenteen opiskelijatietojen tallentamista varten:

index.cs

index.cs

copy
12345678
struct Student { public int id; public float age; public string name; public string course; public char grade; }

Tietojen tallentamista varten sinun täytyy luoda instanssi (tunnetaan myös nimellä olio) tämän rakenteen avulla. Rakenne on pohjimmiltaan mukautettu tietotyyppi, joten sitä voidaan käsitellä sellaisena. Uuden olion luomiseksi rakenteesta käytetään seuraavaa syntaksia:

index.cs

index.cs

copy
1
structName variableName;

Voit luoda useita Student-luokan olioita, joihin kaikkiin voidaan tallentaa tietoja:

index.cs

index.cs

copy
123
Student student1; Student student2; Student student3;

Jokaisella luomallasi oliolla on Student-rakenteessa määritellyt kentät, ja voit tallentaa sekä hakea tietoja näistä kentistä käyttämällä syntaksia variableName.fieldName. Esimerkiksi voit hakea ja tulostaa name-olion student2-kentän:

index.cs

index.cs

copy
1
Console.WriteLine(student2.name);

Kun tyhjä olio luodaan, kentät saavat nolla-arvot tietotyyppinsä mukaan:

  1. string – tyhjä merkkijono "";
  2. char – tyhjä merkki '';
  3. int0;
  4. float0.0;
  5. boolfalse.

Tämän vuoksi student2.name palauttaa tyhjän arvon.

Tietoja voidaan tallentaa siihen käyttämällä sijoitusoperaattoria (=):

index.cs

index.cs

copy
1
student2.name = "Alex";

Tällä tavalla voit tallentaa tietoja kaikkiin kolmeen olioon:

index.cs

index.cs

copy
123456789101112131415161718192021222324252627282930313233343536373839
using 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}."); } }
Note
Huomio

Ilmaisua variableName.fieldName voidaan käsitellä kokonaisuutena muuttujana, joten sitä on sallittua käyttää merkkijonon muotoilussa kuten yllä olevassa esimerkissä.

1. Mitä avainsanaa käytetään rakenteen määrittelyyn?

2. Mikä on seuraavan koodin tuloste?

question mark

Mitä avainsanaa käytetään rakenteen määrittelyyn?

Select the correct answer

question mark

Mikä on seuraavan koodin tuloste?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 2. Luku 2

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

Suggested prompts:

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

bookRakenteen Määrittely ja Käyttö

Pyyhkäise näyttääksesi valikon

Rakenne määritellään seuraavalla syntaksilla:

index.cs

index.cs

copy
1234567
struct structureName { public datatype fieldName1; public datatype fieldName2; public datatype fieldName3; ... }

Esimerkiksi voit määritellä rakenteen opiskelijatietojen tallentamista varten:

index.cs

index.cs

copy
12345678
struct Student { public int id; public float age; public string name; public string course; public char grade; }

Tietojen tallentamista varten sinun täytyy luoda instanssi (tunnetaan myös nimellä olio) tämän rakenteen avulla. Rakenne on pohjimmiltaan mukautettu tietotyyppi, joten sitä voidaan käsitellä sellaisena. Uuden olion luomiseksi rakenteesta käytetään seuraavaa syntaksia:

index.cs

index.cs

copy
1
structName variableName;

Voit luoda useita Student-luokan olioita, joihin kaikkiin voidaan tallentaa tietoja:

index.cs

index.cs

copy
123
Student student1; Student student2; Student student3;

Jokaisella luomallasi oliolla on Student-rakenteessa määritellyt kentät, ja voit tallentaa sekä hakea tietoja näistä kentistä käyttämällä syntaksia variableName.fieldName. Esimerkiksi voit hakea ja tulostaa name-olion student2-kentän:

index.cs

index.cs

copy
1
Console.WriteLine(student2.name);

Kun tyhjä olio luodaan, kentät saavat nolla-arvot tietotyyppinsä mukaan:

  1. string – tyhjä merkkijono "";
  2. char – tyhjä merkki '';
  3. int0;
  4. float0.0;
  5. boolfalse.

Tämän vuoksi student2.name palauttaa tyhjän arvon.

Tietoja voidaan tallentaa siihen käyttämällä sijoitusoperaattoria (=):

index.cs

index.cs

copy
1
student2.name = "Alex";

Tällä tavalla voit tallentaa tietoja kaikkiin kolmeen olioon:

index.cs

index.cs

copy
123456789101112131415161718192021222324252627282930313233343536373839
using 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}."); } }
Note
Huomio

Ilmaisua variableName.fieldName voidaan käsitellä kokonaisuutena muuttujana, joten sitä on sallittua käyttää merkkijonon muotoilussa kuten yllä olevassa esimerkissä.

1. Mitä avainsanaa käytetään rakenteen määrittelyyn?

2. Mikä on seuraavan koodin tuloste?

question mark

Mitä avainsanaa käytetään rakenteen määrittelyyn?

Select the correct answer

question mark

Mikä on seuraavan koodin tuloste?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 2. Luku 2
some-alt