c# - 如何从枚举中获取字符串值

标签 c# asp.net enums

<分区>

我对枚举感到困惑。这是我的枚举

enum Status
{
   Success = 1,
   Error = 0
}


public void CreateStatus(int enumId , string userName)
{
     Customer t = new Customer();
     t.Name = userName;
    // t.Status = (Status)status.ToString(); - throws build error
     t.Status = //here I am trying if I pass 1 Status ="Success", if I pass 0 Status = "Error"

}

Error - Cannot convert string to enum.Status

public class Customer
{
  public string Name { get; set;}
  public string Status {get; set;}
}

如何使用枚举状态设置客户对象的状态属性?

(无 If-Else 或切换阶梯)

最佳答案

你只需要调用.ToString

 t.Status = Status.Success.ToString();

ToString() on Enum from MSDN

如果您传递了枚举 ID,您可以运行:

t.Status = ((Status)enumId).ToString();

它将整数转换为枚举值,然后调用 ToString()

编辑(更好的方法): 您甚至可以将方法更改为:

public void CreateStatus(Status status , string userName)

并调用它:

CreateStatus(1,"whatever");

并转换为字符串:

t.Status = status.ToString();

关于c# - 如何从枚举中获取字符串值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42242561/

相关文章:

c# - 枚举中定义的项目总数

c# - ServerConnection.Cancel 方法

c# - 虚拟移动数组

asp.net - ASP.NET 表单例份验证的工作原理 : recognising cookies from request

javascript - 重载返回View的Controller时,如何根据ViewBag属性加载不同的内容?

java - 枚举帮助/建议 - java

C# 读取、修改然后将二进制数据写入文件。最佳 session ?

c# - Writeablebitmap.SaveJpeg 正在旋转我的图像 -90 度

asp.net - 为什么 Cache.Add 返回一个表示缓存项的对象?

enums - 将枚举的生命周期指定为返回类型