Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 通过传递的参数查找枚举值_C#_Asp.net_Enums - Fatal编程技术网

C# 通过传递的参数查找枚举值

C# 通过传递的参数查找枚举值,c#,asp.net,enums,C#,Asp.net,Enums,我有这样一个枚举: public enum Priority { Low = 0, Medium = 1, Urgent = 2 } 我想通过像Enum.GetEnumVar(Priority,0)这样的传递来获取例如Priority.Low,它应该返回Priority.Low 我怎样才能做到这一点 提前感谢。只需将其强制转换为枚举类型: 请注意,您可以将任何int强制转换为Priority,而不仅仅是那些名称为:(Priority)42的int有效。如下所示: Prior

我有这样一个枚举:

public enum Priority
{
   Low = 0,
   Medium = 1,
   Urgent = 2 
}
我想通过像
Enum.GetEnumVar(Priority,0)
这样的传递来获取例如
Priority.Low
,它应该返回
Priority.Low

我怎样才能做到这一点

提前感谢。

只需将其强制转换为枚举类型:

请注意,您可以将任何int强制转换为Priority,而不仅仅是那些名称为:
(Priority)42的int有效。

如下所示:

Priority fromInt = (Priority)0;
Assert.That(fromInt, Is.EqualTo(Priority.Low));
此外,这项工作:

Priority fromString = (Priority)Enum.Parse(typeof(Priority), "Low");
Assert.That(fromString, Is.EqualTo(Priority.Low));

谢谢,但我认为Assert类是用于单元测试的,您打算验证它的状态吗?我在单元测试中运行了代码,以确保在剪切和粘贴之前没有输入错误。我保留这些断言,因为我认为它们传达了我想要表达的东西。类似于dtb使用以下注释的方式://priority==priority.Low。
Priority fromString = (Priority)Enum.Parse(typeof(Priority), "Low");
Assert.That(fromString, Is.EqualTo(Priority.Low));