C# enum.toString()与类常量字符串

C# enum.toString()与类常量字符串,c#,asp.net-mvc,C#,Asp.net Mvc,我正在开发一个.NETcore项目,在该项目中,我使用ApicController处理前端请求,并手动解析JObject,如下所示: public IActionResult CreatePublicUser([FromBody]JObject body) { string Username = body["Username"].ToString(); } 我创建了一个枚举,它基本上允许我使用enumUser.Username.toString(),而

我正在开发一个.NETcore项目,在该项目中,我使用ApicController处理前端请求,并手动解析JObject,如下所示:

    public IActionResult CreatePublicUser([FromBody]JObject body)
    {

        string Username = body["Username"].ToString();
    }
我创建了一个枚举,它基本上允许我使用enumUser.Username.toString(),而不是显式地写“Username”

    public enum enumUserModel
    {
        Username,
        Password
    }
然而,显然我不得不经常这样做,所以我决定创建一个带有常量的类,如下所示:

public class UserModelConstants {

     public static const Username = "Username";
     public static const Password = "Password";
}
因此,我可以改为编写usermodelstants.Username,这使代码看起来更好、更容易理解。此外,根据在线文章,它的性能比enumUser.Username.toString()更好。

但如果我使用常量方法,那么我必须编写另一个类来处理将常量转换为int以写入数据库(基本上再次使用enum)


那么,最好的方法是什么呢?

enumUserModel.Username.ToString()。如果您已经通过实际指标确定运行时效率是一个问题,
publicstaticconstusername=enumUserModel.Username.ToString()ToString()
分配给
const
,可以吗?另一种方法:@GSerg哇!说得好。我应该说
公共静态只读字符串Username=enumUserModel.Username.ToString()我也非常喜欢枚举上的描述属性。我敦促OP考虑这个方法。这是一个静态方法,所以可以用来初始化只读静态字段。@Ed Plunkett好主意,我会试试的,谢谢
enumUserModel.Username.ToString()
。如果您已经通过实际指标确定运行时效率是一个问题,
publicstaticconstusername=enumUserModel.Username.ToString()ToString()
分配给
const
,可以吗?另一种方法:@GSerg哇!说得好。我应该说
公共静态只读字符串Username=enumUserModel.Username.ToString()我也非常喜欢枚举上的描述属性。我敦促OP考虑这个方法。这是一个静态方法,所以可以用来初始化只读静态字段。@Ed Plunkett好主意,我会试试的,谢谢!