Miten saada `int` arvo `Enum` osoitteesta C# esimerkkien avulla
Jos haluat saada int arvon enum:stä C#:ssa, valaa enum -muuttuja kokonaisluvuksi.
On this page
Ratkaisu 1: Käytä Type cast -tyyppiä saadaksesi int -arvon muuttujasta enum
Oletustyyppi enums:lle C#:ssa on Int.
Voimme siis tyypittää tyypin enum muotoon int saadaksemme kokonaislukuarvon C#:n enumista.
Otetaan esimerkki sen ymmärtämiseksi tarkemmin.
public enum Days
{
Monday,
Tuesday,
Wednesday,
Thursday,
Friday,
Saturday,
Sunday
}
Nyt muunnetaan enum-arvot kokonaislukuarvoiksi.
int mondayValue=(int)Days.Monday; //0
int tuesdayValue=(int)Days.Tuesday; //1
int wednesdayValue=(int)Days.Wednesday; //2
int thursdayValue=(int)Days.Thursday; //3
int fridayValue=(int)Days.Friday; //4
int saturdayValue=(int)Days.Saturday; //5
int sundayValue=(int)Days.Sunday; //6
Ratkaisu 2: Käytä Convert.ToInt32() -menetelmää saadaksesi kokonaislukuarvon enumista
Tai voimme käyttää Convert.ToInt32() to -menetelmää enum:n muuntamiseen kokonaisluvuksi alla esitetyllä tavalla.
int mondayValue=Convert.ToInt32(Days.Moday); //0
Hae enum arvo eri perustyypeille
Enums c#:ssa voi olla erilaisia perustyyppejä
Jos C# enum on ilmoitettu uint, long tai ulong, meidän pitäisi castata se vastaavaan tyyppiin enum.
Tarkastellaan alla olevaa esimerkkiä Stars enum, jonka tyyppi on long.
enum Stars:long
{
Sun = 1, Star1 = 2,Star2=3, .. Startn = n
};
var sunValue = (long)Stars.Sun;//1