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

bookEnumeratorit

Enum, eli enumerointi, on rakenne, jolla ryhmitellään yhteen kokonaislukuvakioita. Vakiot ovat käytännössä tyyppiä int.

Seuraavassa on syntaksi enum-rakenteen luomiseen:

index.cs

index.cs

copy
1234567
enum EnumName { Const1, Const2, Const3, ... }

Oletuksena enum-rakenteen ensimmäisen alkion arvo on 0, toisen arvo on 1 ja niin edelleen.

Esimerkiksi:

index.cs

index.cs

copy
12345678910
enum Days { Monday, // 0 Tuesday, // 1 Wednesday, // 2 Thursday, // 3 Friday, // 4 Saturday, // 5 Sunday // 6 }

Näiden vakioiden arvoihin pääsee käsiksi käyttämällä syntaksia enumName.constantName.

Esimerkiksi:

index.cs

index.cs

copy
123456789101112131415161718192021222324
using System; enum Days { Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday } class ConsoleApp { static void Main(string[] args) { // Explicitly converting the enum elements to 'int' and then outputting them Console.WriteLine((int)Days.Monday); // 0 Console.WriteLine((int)Days.Wednesday); // 2 Console.WriteLine((int)Days.Friday); // 4 Console.WriteLine((int)Days.Sunday); // 6 } }

Huomaa, että yllä olevassa esimerkissä sinun täytyy nimenomaisesti muuntaa vakio int-tietotyypiksi, koska nämä vakiot ovat oletuksena tyyppiä Days. Tämä tarkoittaa, että enumeraatio Days on uusi tietotyyppi, jonka loit. Siksi se voidaan tallentaa muuttujaan, jonka tyyppi on Days:

Days day = Days.Friday;

Tämä on hyödyllistä esimerkiksi switch-lauseissa.

Esimerkki:

index.cs

index.cs

copy
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
using System; enum Days { Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday } class ConsoleApp { static void Main(string[] args) { Days day = Days.Friday; switch (day) { case Days.Monday: Console.WriteLine("It is Monday"); break; case Days.Tuesday: Console.WriteLine("It is Tuesday"); break; case Days.Wednesday: Console.WriteLine("It is Wednesday"); break; case Days.Thursday: Console.WriteLine("It is Thursday"); break; case Days.Friday: Console.WriteLine("It is Friday"); break; case Days.Saturday: Console.WriteLine("It is Saturday"); break; case Days.Sunday: Console.WriteLine("It is Sunday"); break; default: Console.WriteLine("Invalid Day"); break; } } }

Voit myös määrittää arvot enum-vakioille manuaalisesti. Määrittämättömät vakiot saavat edellisten elementtien arvoa seuraavat kasvavat arvot:

index.cs

index.cs

copy
123456789101112131415161718192021222324252627
using System; enum Days { Monday, Tuesday, Wednesday = 5, Thursday, Friday, Saturday = 10, Sunday } class ConsoleApp { static void Main(string[] args) { // Explicitly converting the enum elements to 'int' and then outputting them Console.WriteLine((int)Days.Monday); Console.WriteLine((int)Days.Tuesday); Console.WriteLine((int)Days.Wednesday); Console.WriteLine((int)Days.Thursday); Console.WriteLine((int)Days.Friday); Console.WriteLine((int)Days.Saturday); Console.WriteLine((int)Days.Sunday); } }

1. Mikä on enum C#:ssa?

2. Mitä avainsanaa käytetään enum-tyypin määrittelyyn?

3. Mikä on enum-tyypin arvojen oletusarvoinen taustatyyppi?

question mark

Mikä on enum C#:ssa?

Select the correct answer

question mark

Mitä avainsanaa käytetään enum-tyypin määrittelyyn?

Select the correct answer

question mark

Mikä on enum-tyypin arvojen oletusarvoinen taustatyyppi?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 2. Luku 10

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

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

Suggested prompts:

Can you give an example of how to define an enum?

How do I use enums in a switch statement?

What happens if I assign the same value to two enum constants?

Awesome!

Completion rate improved to 2.04

bookEnumeratorit

Pyyhkäise näyttääksesi valikon

Enum, eli enumerointi, on rakenne, jolla ryhmitellään yhteen kokonaislukuvakioita. Vakiot ovat käytännössä tyyppiä int.

Seuraavassa on syntaksi enum-rakenteen luomiseen:

index.cs

index.cs

copy
1234567
enum EnumName { Const1, Const2, Const3, ... }

Oletuksena enum-rakenteen ensimmäisen alkion arvo on 0, toisen arvo on 1 ja niin edelleen.

Esimerkiksi:

index.cs

index.cs

copy
12345678910
enum Days { Monday, // 0 Tuesday, // 1 Wednesday, // 2 Thursday, // 3 Friday, // 4 Saturday, // 5 Sunday // 6 }

Näiden vakioiden arvoihin pääsee käsiksi käyttämällä syntaksia enumName.constantName.

Esimerkiksi:

index.cs

index.cs

copy
123456789101112131415161718192021222324
using System; enum Days { Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday } class ConsoleApp { static void Main(string[] args) { // Explicitly converting the enum elements to 'int' and then outputting them Console.WriteLine((int)Days.Monday); // 0 Console.WriteLine((int)Days.Wednesday); // 2 Console.WriteLine((int)Days.Friday); // 4 Console.WriteLine((int)Days.Sunday); // 6 } }

Huomaa, että yllä olevassa esimerkissä sinun täytyy nimenomaisesti muuntaa vakio int-tietotyypiksi, koska nämä vakiot ovat oletuksena tyyppiä Days. Tämä tarkoittaa, että enumeraatio Days on uusi tietotyyppi, jonka loit. Siksi se voidaan tallentaa muuttujaan, jonka tyyppi on Days:

Days day = Days.Friday;

Tämä on hyödyllistä esimerkiksi switch-lauseissa.

Esimerkki:

index.cs

index.cs

copy
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
using System; enum Days { Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday } class ConsoleApp { static void Main(string[] args) { Days day = Days.Friday; switch (day) { case Days.Monday: Console.WriteLine("It is Monday"); break; case Days.Tuesday: Console.WriteLine("It is Tuesday"); break; case Days.Wednesday: Console.WriteLine("It is Wednesday"); break; case Days.Thursday: Console.WriteLine("It is Thursday"); break; case Days.Friday: Console.WriteLine("It is Friday"); break; case Days.Saturday: Console.WriteLine("It is Saturday"); break; case Days.Sunday: Console.WriteLine("It is Sunday"); break; default: Console.WriteLine("Invalid Day"); break; } } }

Voit myös määrittää arvot enum-vakioille manuaalisesti. Määrittämättömät vakiot saavat edellisten elementtien arvoa seuraavat kasvavat arvot:

index.cs

index.cs

copy
123456789101112131415161718192021222324252627
using System; enum Days { Monday, Tuesday, Wednesday = 5, Thursday, Friday, Saturday = 10, Sunday } class ConsoleApp { static void Main(string[] args) { // Explicitly converting the enum elements to 'int' and then outputting them Console.WriteLine((int)Days.Monday); Console.WriteLine((int)Days.Tuesday); Console.WriteLine((int)Days.Wednesday); Console.WriteLine((int)Days.Thursday); Console.WriteLine((int)Days.Friday); Console.WriteLine((int)Days.Saturday); Console.WriteLine((int)Days.Sunday); } }

1. Mikä on enum C#:ssa?

2. Mitä avainsanaa käytetään enum-tyypin määrittelyyn?

3. Mikä on enum-tyypin arvojen oletusarvoinen taustatyyppi?

question mark

Mikä on enum C#:ssa?

Select the correct answer

question mark

Mitä avainsanaa käytetään enum-tyypin määrittelyyn?

Select the correct answer

question mark

Mikä on enum-tyypin arvojen oletusarvoinen taustatyyppi?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 2. Luku 10
some-alt