простые типы значение в тип enum
преобразование |
|
из типа |
в тип |
sbyte byte short ushort int uint long ulong char float double decimal | enum |
Если тип перечисления (например ushort) меньше типа переменной (например long) и значение превышает допустимы диапазон (4294967295), то происходит потеря данных.
Дробные значения всех десятичных типов переменных усекаются, остаются только целые значения.
Дробные значения всех десятичных типов переменных усекаются, остаются только целые значения.
Main.cs
using
System;
public
enum
En :
long
{};
class
Program {
-
public
static
int
Main() {
-
sbyte
sbyteVal = -128;
-
//из типа sbyte в тип En
-
En E = (En)sbyteVal;
-
Console.WriteLine(E);
-
Console.ReadKey();
-
return
0;
-
}
}
using
System;
public
enum
En :
long
{};
class
Program {
-
public
static
int
Main() {
-
sbyte
sbyteVal = -128;
-
//из типа sbyte в тип En
-
En E = (En)sbyteVal;
-
Console.WriteLine(E);
-
Console.ReadKey();
-
return
0;
-
}
}
-128
тип enum в простые типы значений
преобразование |
|
из типа |
в тип |
enum | sbyte byte short ushort int uint long ulong char float double decimal |
Main.cs
using
System;
public
enum
En :
long
{Ten=-10};
class
Program {
-
public
static
int
Main() {
-
//из типа En в тип sbyte
-
sbyte
sbyteVal = (
sbyte
)En.Ten;
-
Console.WriteLine(sbyteVal);
-
Console.ReadKey();
-
return
0;
-
}
}
using
System;
public
enum
En :
long
{Ten=-10};
class
Program {
-
public
static
int
Main() {
-
//из типа En в тип sbyte
-
sbyte
sbyteVal = (
sbyte
)En.Ten;
-
Console.WriteLine(sbyteVal);
-
Console.ReadKey();
-
return
0;
-
}
}
-10
из типа enum в тип enum
Main.cs
using
System;
//по умолчанию тип int, если тип не указан явно
public
enum
One {};
public
enum
Two :
long
{Ten=-10};
class
Program {
-
public
static
int
Main() {
-
//из типа Two в тип One
-
One O = (One)Two.Ten;
-
Console.WriteLine(O);
-
Console.ReadKey();
-
return
0;
-
}
}
using
System;
//по умолчанию тип int, если тип не указан явно
public
enum
One {};
public
enum
Two :
long
{Ten=-10};
class
Program {
-
public
static
int
Main() {
-
//из типа Two в тип One
-
One O = (One)Two.Ten;
-
Console.WriteLine(O);
-
Console.ReadKey();
-
return
0;
-
}
}
-10