gpt4 book ai didi

c# - 在 switch 语句中针对枚举进行编程,这是您的方式吗?

转载 作者:可可西里 更新时间:2023-11-01 08:50:36 26 4
gpt4 key购买 nike

看代码片段:

这是我在针对枚举进行编码时通常会做的事情。我有一个带有 InvalidOperationException 的默认转义(我不使用 ArgumentException 或其衍生物之一,因为编码是针对私有(private)实例字段而不是传入参数)。

我想知道你们这些开发人员是否也在考虑这种转义......

public enum DrivingState {Neutral, Drive, Parking, Reverse};

public class MyHelper
{
private DrivingState drivingState = DrivingState.Neutral;

public void Run()
{
switch (this.drivingState)
{
case DrivingState.Neutral:
DoNeutral();
break;
case DrivingState.Drive:
DoDrive();
break;
case DrivingState.Parking:
DoPark();
break;
case DrivingState.Reverse:
DoReverse();
break;
default:
throw new InvalidOperationException(
string.Format(CultureInfo.CurrentCulture,
"Drivestate {0} is an unknown state", this.drivingState));
}
}
}

在代码审查中,我遇到许多在默认转义中只有一个 break 语句的实现。随着时间的推移,这可能是一个问题....

最佳答案

您的问题有点含糊,但据我了解,您是在问我们您的编码风格是否良好。我通常根据可读性来判断编码风格。

我阅读了代码一次并且理解了它。因此,以我的拙见,您的代码是良好编码风格的典范。

关于c# - 在 switch 语句中针对枚举进行编程,这是您的方式吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/633656/

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