c# - 在 C# 中的方法中定义枚举?

标签 c# enums coding-style

我主要有 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/

相关文章:

java - 两种设计循环方式的区别

c# - UWP 页面导航标识符

c# - 用于访问 Azure 存储中的私有(private) blob 的 URL

c# - Backgroundworker 的正确使用方法

c# - WPF 基础 : Shared global styles for MVVM

sql - 我可以比较 MySQL 枚举吗?

Java 约定返回自己的实例列表?

c# - 创建枚举列表并将其传递给方法

java - 如何处理java枚举和数据库表之间的重复?

java - 在单行上严格省略花括号是否被认为是正确的?