0

我有一个枚举类如下:

namespace Import.DataObject
{
    internal enum Status
    {
        FullTime,
        Terminated,
    }
}

在我的主程序中,我有一个 DB 调用,然后是

  foreach (ClientStatus status in databaseStatus)
            {
                if (status.Name == "FullTime")
                {
                }
                if (status.Name == "Terminated")
                {
                }

            }

我将如何根据 if 语句设置枚举?Name 有一个与之关联的 ID,我希望该 ID = enum 中的相应名称,我在 if 语句中同时拥有 name 和 id。

4

1 回答 1

2

使用Enum.Parse

Status val = (Status)Enum.Parse(typeof(Status), status.Name);

如果您不确定字符串是有效的枚举,请使用Enum.TryParse

Status? val;
if (!Enum.TryParse<Status>(status.Name, out val))
    val = null;

然后只需转换为 (int) 即可获得数值:

status.ID = (int)val;
于 2012-10-22T16:07:27.590 回答