gpt4 book ai didi

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

转载 作者:IT王子 更新时间:2023-10-29 04:24:19 24 4
gpt4 key购买 nike

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

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com