Как достать из enum число и присвоить это число другой переменной ? Учитывая что элемент enum будет выбираться программой рандомным образом
Просто сделайте приведение к типу int
:
class Program
{
enum SomeEnum
{
SomeValue,
SomeValue2,
SomeValue3,
SomeValue4
}
static int getEnumValueAsInt(SomeEnum value)
{
return (int)value;
}
static void Main()
{
SomeEnum[] arr = new[]
{
SomeEnum.SomeValue2, SomeEnum.SomeValue3,
SomeEnum.SomeValue, SomeEnum.SomeValue4
};
Random rand = new Random();
int randv = rand.Next(1,4);
Console.WriteLine(
$"Current int value: {getEnumValueAsInt(arr[randv])}, Current enum: {arr[randv]}");
}
}
Тест: IdeOne
Если у вас числа enum-ов идут по порядку, а так и есть если вы их вручную не пропишите. То для генерации случайного числа enum-ы вам вообще не нужны.
Допустим у вас есть
enum SomeEnum { a, b, c, d };
Мы знаем что всего 4 значения [0,1,2,3]
, итого берём случайное.
Random ran = new Random();
int randomInt = ran.Next(4);
Если ваши enum-ы идут не по порядку, тогда используйте Enum.GetNames для получения списка всех имён, и уже из этого списка выбирайте случайное значение.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
ЗдравствуйтеИмеется БД Access из двух связанных таблиц (связь один ко многим; одной строке таблицы1 соответствует несколько строк таблицы2)
У меня есть приложение с заданной переменной, к примеру
Не обрабатывается кнопка при ее нажатии, хотя скрипт к кнопке подключен, метод вызывается, но через breakpoint приложение не останавливает при...