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