我主要有 C++ 背景,并且正在学习 C#。因此,我需要一些有关 C# 习惯用法和风格的帮助。
我正在尝试用 C# 编写一个小型文本文件解析方法,其中我需要一个具有三个状态的简单状态变量。在 C++ 中,我会像这样为状态变量声明一个 enum
:
enum { stHeader, stBody, stFooter} state = stBody;
...然后像这样在我的解析循环中使用它:
if (state == stHeader && input == ".endheader")
{
state = stBody;
}
在 C# 中,我意识到无法在方法内声明 enum
。那么,为了干净的风格我应该怎么做?在方法之外声明此内部 enum
?使用魔数(Magic Number) 1、2、3?为此创建一个单独的类?
请帮我解开迷惑。
最佳答案
您可以获得的最接近的是类中的私有(private)嵌套枚举:
public class TheClass
{
private enum TheEnum
{
stHeader,
stBody,
stFooter
}
// ...the rest of the methods properties etc...
}
关于c# - 在 C# 中的方法中定义枚举?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5603910/