C# 传入参数是否应映射到枚举?

C# 传入参数是否应映射到枚举?,c#,theory,C#,Theory,我目前正在一个系统上工作,作为接口的一部分提供的其中一个方法以字符串形式接收国家的状态- public DoStuff(string state) { //do stuff } 状态只能是以前已知值范围中的一个。我知道最好用枚举参数替换字符串参数,但由于一些我无法控制的因素,接口需要保持原样 我的问题是: 一般来说,最好尽快将字符串映射到枚举(如果可以的话),并从那时起使用枚举类型而不是字符串?还是最好将其保留为字符串,并在依赖于状态值的情况下使用switch语句?我更喜欢在可能的情况下尽快

我目前正在一个系统上工作,作为接口的一部分提供的其中一个方法以字符串形式接收国家的状态-

public DoStuff(string state)
{

//do stuff
}
状态只能是以前已知值范围中的一个。我知道最好用枚举参数替换字符串参数,但由于一些我无法控制的因素,接口需要保持原样

我的问题是:
一般来说,最好尽快将字符串映射到枚举(如果可以的话),并从那时起使用枚举类型而不是字符串?还是最好将其保留为字符串,并在依赖于状态值的情况下使用switch语句?

我更喜欢在可能的情况下尽快使用enum。它在开发过程中避免了很多错误,并确保代码更清晰、更容易理解


枚举还可以作为您所期望的不同状态的显式定义。

我更愿意在任何时候尽可能快地使用枚举。它在开发过程中避免了很多错误,并确保代码更清晰、更容易理解


枚举还可以作为您期望的不同状态的显式定义。

如果它是一组固定且已知的数据,请尽快使用枚举。这是一个很好的设计实践,对您的团队来说非常容易理解。

如果它是一组固定且已知的数据,请尽快使用Enum。这是一个很好的设计实践,您的团队很容易理解。

列出您认为的优点。列出你认为的缺点。看看利大于弊。列出你认为的利。列出你认为的缺点。看看利大于弊。