Как получить перечисление значений от строки в C#?

Играть! Фреймворк версии 1.2.x также имеет поддержку продолжений , интегрированную с асинхронными http вкусностями.

Обратите внимание, что Продолжения Play 1.2.x работают только со встроенным сервером Netty .

И Play 2.x по-прежнему не поддерживает продолжения .

95
задан Sam 22 October 2014 в 09:29
поделиться

3 ответа

baseKey choice;
if (Enum.TryParse("HKEY_LOCAL_MACHINE", out choice)) {
     uint value = (uint)choice;

     // `value` is what you're looking for

} else { /* error: the string was not an enum member */ }

До .NET 4.5 вам приходилось делать следующее, что более подвержено ошибкам и выдает исключение при передаче недопустимой строки:

(uint)Enum.Parse(typeof(baseKey), "HKEY_LOCAL_MACHINE")
166
ответ дан 24 November 2019 в 05:47
поделиться
var value = (uint) Enum.Parse(typeof(baseKey), "HKEY_LOCAL_MACHINE");  
20
ответ дан 24 November 2019 в 05:47
поделиться

С некоторой обработкой ошибок ...

uint key = 0;
string s = "HKEY_LOCAL_MACHINE";
try
{
   key = (uint)Enum.Parse(typeof(baseKey), s);
}
catch(ArgumentException)
{
   //unknown string or s is null
}
16
ответ дан 24 November 2019 в 05:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: